Ho provato la tua routine in locale e funziona bene.
Ho provato inizialmente copiando un file di testo di circa 20 KB.
Con un copia incolla del testo sono arrivato ad una dimensione superiore a 61 KB per il file di testo e funziona ancora.
Poi ho provato nel mio spazio.
Purtroppo lì non è supportata la funzione file_put_contents() :
"Fatal error: Call to undefined function: file_put_contents() in ...."
così ho provato con quest'altro:
Codice PHP:
$testo file_get_contents($file_orig);    
$handle=fopen($file_dest"w");
fwrite($handle$testo);
fseek($handle0); 
Con questo creo il file HTML, se non esiste e ci scrivo dentro quel che è scritto nel file di testo.
Prova anche tu ad usare la funzione fwrite() anzichè la file_put_contents().
Se nemmeno questo funziona occorre aspettare che passi qualcuno che ne capisca più di me per il discorso dei permessi.

L'esempio puoi vederlo qui in questa pagina