Mi trovo in una situazione un tantino strana.

Ho cambiato server per uno dei miei siti e ho trasferito file, database e aggiornato i riferimenti dei vari script.
Tutto funziona correttamente tranne uno script del mio pannello di amministrazione che mi permette di effettuare l'upload di file da diversi form (pubblicazione immagini per news, pubblicazione gallerie d'immagini e cose del genere).

Il problema si traduce nel fatto che al termine dell'upload (o presunto tale) il file origine si trasforma in un file da 0KB.

Il codice relativo all'upload è il seguente:

Codice PHP:
    function UploadFilez($pagina$pagina_name$destinazione$tipo)
    {
        
// La directory temporanea serve per mettere temporaneamente i file. Deve essere presente
        // e deve avere tutti i permessi chmod (777). I file verranno cancellati automaticamente
        // dal sistema salvo eventuali interruzioni durante l'upload    
        
$dir_temporanea "/upload";
        
$dir_base "/www";
        if (
$pagina_name != "")
        {
            
// Se il tipo è uguale ad 1 si utilizza la dir temporanea e si spostano i file utilizzando
            // una connessione FTP. Se il tipo è diverso da 1 si copiano i file direttamente nella dir
            // di destinazione che deve avere tutti i permessi chmod (777).
            
if ($tipo == 1)
            {
                
// Upload senza sovrascrittura. Se il file esiste già, la funzione ritorna conFalse
                
if (file_exists("$dir_base/$destinazione/$pagina_name"))
                    return 
false;
                
                
copy("$pagina""$dir_temporanea/$pagina_name");                
                
$fp_orig fopen ("$dir_temporanea/$pagina_name""rb");
                
$contenuto fread($fp_origfilesize("$dir_temporanea/$pagina_name"));
        
                if (
$fp_dest fopen("ftp://username:password@indirizzoftp/$dir_base/$destinazione/$pagina_name","wb"))
                {
                     
fwrite ($fp_dest$contenuto);                
                    
fclose ($fp_dest);
                    
fclose ($fp_orig);    
                    
// Cancellazione del file temporaneo
                    
unlink("$dir_temporanea/$pagina_name");
                    return 
true;
                }             
                else 
fclose ($fp_orig);
            
                
// Cancellazione del file temporaneo
                
unlink("$dir_temporanea/$pagina_name");                
                
// Errore nell'upload via FTP
                
return false;
            }
            else
            {
                
// Upload con sovrascrittura
                
if (file_exists("$dir_base/$destinazione/$pagina_name"))
                {
                    
// Cancello il file se è già presente
                    
unlink("$dir_base/$destinazione/$pagina_name");
                }
                
copy("$pagina""$dir_temporanea/$pagina_name");        
            
                
$fp_orig fopen ("$dir_temporanea/$pagina_name""rb");
                
$contenuto fread($fp_origfilesize("$dir_temporanea/$pagina_name"));
               
                if (
$fp_dest fopen("ftp://username:password@indirizzoftp/$dir_base/$destinazione/$pagina_name","wb"))
                   {
                     
fwrite ($fp_dest$contenuto);                
                    
fclose ($fp_dest);
                    
fclose ($fp_orig);    
                    
// Cancellazione del file
                    
unlink("$dir_temporanea/$pagina_name");
                    return 
true;
                }             
                else 
fclose ($fp_orig);
                
// Cancellazione del file temporaneo
                
unlink("$dir_temporanea/$pagina_name");
                
// Errore nell'upload via FTP
                
return false;
            }
        }
        return 
false;
    } 
Anche cambiando $dir_temporanea inserendo il path completo (/home/username/www/upload) il risultato non cambia. Naturalmente "upload" è chmod-ata 777.

Lo script viene "incluso" nella pagina con il forum e utilizzato tramite POST.

Mi è stato consigliato di verificare con un echo il valore di $contenuto ($_POST['contenuto'] ma non ho ottenuto risultati.
Ho tentanto (sempre con altri consigli) di utilizzare per la funzione or die("errore") ma lo script mi offre solamente una pagina bianca senza alcuna indicazione d'errore. Se lo rimuovo torna a funzionare ma il file è da 0KB come al solito.

Qualcuno ha idea di quale possa essere la causa?

Esaminando la pagina phpinfo del nuovo server tutto ciò che era nella configurazione del precedente c'è... anzi c'è anche diversa roba in più... però non ho più idea di dove sbattermi per correggere l'errore