Moin!
Ich habe hier ein Problem mit ftp_get
Hier mal das kleine Progrämmchen
Auf dem Remote Server liegen rund 400 PDF und Text Dateien
Wenn ich das Programm starte, werden rund 200 Dateien übertragen.
Danach bekomme ich so sinnige Warnings wie (Und das Programm wird sau langsam bis es dann stehenbleibt bzw abbricht):
Warning: ftp_get() [function.ftp-get]: Opening BINARY mode data connection in ...
Warning: ftp_get() [function.ftp-get]: Error: The specified address is already in use. in ...
Warning: ftp_get() [function.ftp-get]: PORT command successful in
Warning: ftp_get() [function.ftp-get]: Opening BINARY mode data connection in
Warning: ftp_get() [function.ftp-get]: PORT command successful in
Mittlerweile habe ich fast die Vermutung, dass es ein PHP Bug ist.
Jede zu übetragende Datei ist zwischen 50 und 3000 Byte groß.
Ich weiß echt nicht mehr weiter.
Ich habe hier ein Problem mit ftp_get
Hier mal das kleine Progrämmchen
PHP-Code:
<?
error_reporting( E_ALL );
ini_set( 'display_errors', 'On' );
$ftp_server="server";
$ftp_user_name="user";
$ftp_user_pass="pass";
$conn_id = ftp_connect("$ftp_server");
// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
ftp_pasv($conn_id, true);
// Verbindung überprüfen
if ((!$conn_id) || (!$login_result))
{
echo "Ftp-Verbindung nicht hergestellt!";
echo "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich";
ftp_close($conn_id);
die();
} else {
echo "Verbunden mit $ftp_server als Benutzer $ftp_user_name";
}
$change=ftp_chdir($conn_id,"out");
if($change==true){
echo "<br>Befinde mich nun im Verzeichnis "out"";
} else {
echo "<br>Kann Verzeichnis nicht wechseln!";
ftp_close($conn_id);
die();
}
///
$file_list = ftp_nlist($conn_id, "");
echo "<br>Lese nun die Dateien zum Kopieren!!<br>";
flush();
foreach ($file_list as $datei){
$cnt++;
// Nun die Dateien nach local kopieren....
if(substr($datei,-3)=='txt'){
$aa=ftp_get($conn_id,"/home/www/web7/html/ftp_test/".$datei,$datei,FTP_ASCII);
echo "Text Datei ".$datei."<br>";
}
if(substr($datei,-3)=='pdf'){
$aa=ftp_get($conn_id,"/home/www/web7/html/ftp_test/".$datei,$datei,FTP_BINARY);
echo "PDF Datei ".$datei."<br>";
}
flush();
}
ftp_close($conn_id);
?>
Wenn ich das Programm starte, werden rund 200 Dateien übertragen.
Danach bekomme ich so sinnige Warnings wie (Und das Programm wird sau langsam bis es dann stehenbleibt bzw abbricht):
Warning: ftp_get() [function.ftp-get]: Opening BINARY mode data connection in ...
Warning: ftp_get() [function.ftp-get]: Error: The specified address is already in use. in ...
Warning: ftp_get() [function.ftp-get]: PORT command successful in
Warning: ftp_get() [function.ftp-get]: Opening BINARY mode data connection in
Warning: ftp_get() [function.ftp-get]: PORT command successful in
Mittlerweile habe ich fast die Vermutung, dass es ein PHP Bug ist.
Jede zu übetragende Datei ist zwischen 50 und 3000 Byte groß.
Ich weiß echt nicht mehr weiter.