Upload di file in FTP con PHP

In PHP è possibile effettuare l’upload di file attaverso una connessione Ftp usando alcune funzioni native come ftp_connect ftp_login. Vediamo un esempio che ci permette di caricare un file su uno spazio diverso da quello in cui e’ in esecuzione lo script.

La prima funzione PHP di cui abbiamo bisogno è ftp_connect che ci permette di aprire la connesione al server:

$conn_id=ftp_connect("hostname");
if(!$conn_id){
   echo "Impossibile connettersi al server";
   exit;
   }

Poi utilizziamo ftp_login alla quale passiamo i tre parametri per  l’autenticazione:

$login=ftp_login($conn_id, "username", "password");
//controllo l'autenticazione al server
if(!$login){
     echo "Username o password errati!"; exit;
}

Carichiamo il file utilizzando ftp_put:

$local_file="file.txt";
$remote_file="nuovo.txt";
$upload=ftp_put($conn_id, $remote_file, $local_file, FTP_ASCII);
if($upload) echo "File caricato con successo!";

Chiudiamo la connessione:

ftp_close($conn_id);

In questo caso il file viene caricato nel percorso principale, ma se si ha necessita’ di caricarlo su un’altra directory,  possiamo far uso dell’utilissima ftp_chdir  che appunto ci fa spostare nella cartella dove vogliamo effettuare l’upload:

ftp_chdir($conn_id, '/upload/');

Di seguito il codice completo:

<?php
$local_file="file.txt";
$remote_file="nuovo.txt";
$conn_id=ftp_connect("hostname");
if(!$conn_id){
   echo "Impossibile connettersi al server";
   exit;
   }

$login=ftp_login($conn_id, "username", "password");
if(!$login){
     echo "Username o password errati!";
exit;
}
ftp_chdir($conn_id, '/upload/');
$upload=ftp_put($conn_id, $remote_file, $local_file, FTP_ASCII);
if($upload) echo "File caricato con successo!";
ftp_close($conn_id);
?>

Lascia un commento