Php: utilizzo del protocollo FTP
11/07/2012Con php il caricamento di file sul server può avvenire attraverso il metodo upload, ma spesso questo metodo non è utilizzabile in quanto le impostazioni predefinite di php determinano una dimensione massima modificabile solo avendo accesso al file ini di php sul server.
Ma con php possiamo tranquillamente utilizzare il nostro account ftp per bypassare questo problema.
Ecco uno script di esempio:
/ FTP parametri di accesso:
$host = 'ftp.miosito.it';
$usr = 'mio_user';
$pwd = 'mia_password';
// file da aricare:
$local_file = './test.png';
$ftp_path = '/files/test.png';
// connessione al server FTP (porta 21)
$conn_id = ftp_connect($host, 21) or die ("impossibile connettersi");
// invio dati di accesso
ftp_login($conn_id, $usr, $pwd) or die("impossibile loggarsi");
// attivo la modalità passiva (per alcuni server è necessario)
// ftp_pasv ($conn_id, true);
// file upload
$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII);
// controllo l'esito dell'upload
print (!$upload) 'Upload non riuscito' : 'Upload completato';
print "\n";
// Chmod
if (!function_exists('ftp_chmod')) {
function ftp_chmod($ftp_stream, $mode, $filename){
return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
}
}
if (ftp_chmod($conn_id, 0755, $ftp_path) !== false) {
print $ftp_path . " chmod 755 riuscito\n";
} else {
print "chmod $file fallito\n";
}
// chiusura connessione FTP
ftp_close($conn_id);