2010-06-06 5 views
3

J'essaye d'écrire une petite fonction de php qui téléchargera des dossiers à un serveur de ftp et je continue à obtenir la même erreur mais je ne peux pas trouver toute réparation en googling le problème, j'espère que vous pouvez m'aider ici ...php ftp télécharger le problème

L'erreur que j'obtiens est: Avertissement: ftp_put() [function.ftp-put]: Impossible de construire la connexion de données: Aucune route vers l'hôte.

Le fichier a été créé sur le serveur FTP mais il est de zéro octet.

Voici le code:

<?php 
$file = "test.dat"; 

$ftp_server="ftp.server.com"; 
$ftp_user = "myname"; 
$ftp_pass = "mypass"; 
$destination_file = "test.dat"; 


$cid=ftp_connect($ftp_server); 
if(!$cid) { 
    exit("Could not connect to server: $ftp_server\n"); 
} 

$login_result = ftp_login($cid, $ftp_user, $ftp_pass); 
if (!$login_result) { 
    echo "FTP connection has failed!"; 
    echo "Attempted to connect to $ftp_server for user $ftp_user"; 
    exit; 
} else { 
echo "Connected to $ftp_server, for user $ftp_user"; 
} 

$upload = ftp_put($cid, $destination_file, $file, FTP_BINARY); 
if (!$upload) { 
    echo "Failed upload for $source_file to $ftp_server as $destination_file<br>"; 
    echo "FTP upload has failed!"; 
} else { 
    echo "Uploaded $source_file to $ftp_server as $destination_file"; 
} 

ftp_close($cid); 
?> 

Répondre

7

J'ai oublié de mettre FTP en mode passif en utilisant:

ftp_pasv($cid, true); 
Questions connexes