Ok, ho risolto...
Avevo ragione, era la stampa di quel warning che generava anche il secondo warning dell'header...
E' bastato disabilitare i warning da codice e riabilitarli ubito dopo la chiamata di ftp_put, in questo modo:
cosi' funziona tutto perfettamente.codice:// upload del file error_reporting ( E_ALL ^ (E_NOTICE | E_WARNING) ); $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); error_reporting ( E_ALL ^ E_NOTICE );