- Home
- Categorie
- Coding e Sistemistica
- PHP
- Script FTP
-
Script FTP
Ciao a tutti, chiedo il vostro consiglio per l'uso di uno script di upload via FTP.
Devo uploadare delle immagini da un'area riservata del sito web di un cliente, hosting win, e l'unico modo in cui funge è usare la funzione ftp_fput.
Però mi uploada l'immagine nella directory principale del sito. E' possibile in qualche modo impostare la cartella di upload?
Vi posto lo script...
foreach($HTTP_POST_VARS as $key=>$val) { if($val=="" or !$val) { print "<font face=\"arial\" size=\"2\">Il campo $key è vuoto <a href=\"javascript:history.back()\">indietro</a></font>"; exit(); } } $ftp_connect=@ftp_connect($host,$porta); if(!$ftp_connect) { print "<font face=\"arial\" size=\"2\">Connessione fallita al server $host <a href=\"javascript:history.back()\">indietro</a></font>"; exit(); } $ftp_login=@ftp_login($ftp_connect,$username,$password); if(!$ftp_login) { print "<font face=\"arial\" size=\"2\">Login fallito <a href=\"javascript:history.back()\">indietro</a></font>"; exit(); } //copia il file da inviare $fp=@fopen($fupload,"r"); if(!$fp) { print "<font face=\"arial\" size=\"2\">Impossibile aprire il file selezionato <a href=\"javascript:history.back()\">indietro</a></font>"; exit(); } //lo spedisce via ftp @ftp_fput($ftp_connect,$fupload_name,$fp,FTP_BINARY) or die("<font face=\"arial\" size=\"2\">Impossibile spedire il file <a href=\"javascript:history.back()\">indietro</a></font>"); echo "<font face=\"arial\" size=\"2\">Il file $fupload_name, peso $fupload_size, è stato uploadato con successo</font>"; fclose($fp); ftp_quit($ftp_connect);
Grazie a tutti...
-
Ciao io ho usato il seguente script e tutto funziona bene.
$ftp_server=(path che vuoi sul server);
$ftp_user_name=username;
$ftp_user_pass=pwd;
$destination_file=(nome che vuoi dare al file uplodato);
$source_file=(nome del file sorgente);// stabilire una connessione $conn_id = @ftp_connect($ftp_server); // login con user name e password $login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // controllo della connessione if ((!$conn_id) || (!$login_result)) { $report_ftp=" La connessione FTP è fallita! "; $report_ftp.=" Tentativo di connessione a **$ftp_server** per l'utente **$ftp_user_name**."; //die; } else { $report_ftp.="Connesso a **$ftp_server**, utente **$ftp_user_name**."; } // upload del file $upload = @ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); // controllo dello stato di upload if (!$upload) { $report_ftp.=" Il caricamento FTP non è andato a buon fine!"; } else { $report_ftp.=" Caricato il file **$source_file** su **$ftp_server** come **$destination_file**"; } // chiudere il flusso FTP @ftp_quit($conn_id);
Saluti,
Matteo
-
Perfetto, grazie mille!!