Spesso capita di avere la necessità di dover trasferire in modalità batch un file da un server remoto su una nostra macchina.
Ecco una comoda e semplice funzione da utilizzare per scaricare file attraverso il protocollo FTP usando il linguaggio PHP


function FTP_Transfer($fLoc, $fR, $arrDati){
// istanzio la connessione
$conn = ftp_connect($arrDati[0]);
// Login
$login_result = ftp_login($conn, $arrDati[1], $arrDati[2]);
// Scarico il file
if (ftp_get($conn, $fLoc, $fR, FTP_BINARY)) {
// Recupero il file e lo deposito nella directory locale
echo “File trasferito: $fLoc\n”;
} else {
echo “Errore\n”;
}
ftp_close($conn);
// chiudo la connessione
}

Questa funzione richiede 3 parametri in ingresso:

$fLoc = percorso e nome del file locale
$fR = percorso e nome del file remoto da scaricare
$arrDati = array contenente le info sulla connessione FTP

Per trasferire il nostro file a questo punto è sufficiente :
1) Istanziare l’array con le info di connessione:

$arrDati = array('127.0.0.1','username_ftp','password_ftp');

2) lanciare il comando:

FTP_Transfer('nomeFileLocale', 'nomeFileRemoto', $arrDati);

Il nostro file verrà quindi scaricato sul server in cui abbiamo eseguito lo script