4 votes

PHP ftp_put échoue

Je télécharge le fichier XML par FTP :

$ftp = "ftp";
$username = "username";
$pwd = "password";
$filename = $_FILES[$xyz][$abc];
$tmp = $_FILES['file']['tmp_name'];
$destination = "/Content/EnquiryXML ";

$connect = ftp_connect($ftp)or die("Unable to connect to host");
ftp_login($connect,$username,$pwd)or die("Authorization Failed");
echo "Connected!<br/>";              

if(!$filename)
{
    echo"Please select a file";
}

else
{
    ftp_put($connect,$destination.'/'.$filename,$tmp,FTP_ASCII)or die("Unable to upload");
    echo"File successfully uploaded to FTP";
}

Je souhaite envoyer le fichier XML créé à l'aide de DOMDocument vers un serveur FTP, mais je n'y parviens pas.

En ftp_put renvoie un message faux.

12voto

Martin Prikryl Points 4584

La cause la plus fréquente des problèmes de ftp_put (ou toute autre commande de transfert comme ftp_get , ftp_nlist , ftp_rawlist ) est que PHP utilise par défaut le mode actif. Et dans 99% des cas, il faut passer en mode passif pour que le transfert fonctionne. Utilisez l'option ftp_pasv fonction .

$connect = ftp_connect($ftp) or die("Unable to connect to host");
ftp_login($connect, $username, $pwd) or die("Authorization failed");
// turn passive mode on
ftp_pasv($connect, true) or die("Unable switch to passive mode");

Voir aussi

-1voto

xecutioner Points 25

Cela a fonctionné :

// connect and login to FTP server
$ftp_server = "host";
$ftp_username = "username";
$ftp_userpass = "password";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$file ="$abc";

// upload file 
if (ftp_put($ftp_conn, "/$abc" , $file, FTP_ASCII)){
    echo "Successfully uploaded $file.";
} else {
    echo "Error uploading $file";
}

// close connection
ftp_close($ftp_conn);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X