ftp_get не работает, но PHP не сообщает об ошибке - PullRequest
2 голосов
/ 21 июня 2011

Я пытаюсь получить файл с FTP-сервера, используя ftp_get из PHP 5.3.3 (сборка linux).Я могу войти, я могу перечислить файлы, но команда ftp_get не загружает файл.

Вот код, который я использую.

$ftp_user_name = DBUSER;
$ftp_user_pass = DBUSERPASS;
$ftp_server = HOST;
$local_file = "poutarde.odt";
$server_file = "poutarde.odt";

// set up a connection to ftp server
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// turn passive mode on
ftp_pasv($conn_id, true);

// try to download $server_file and save to $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
  echo "Successfully written to $local_file\n";
} else {
  echo "There was a problem\n";
}

// close the connection
ftp_close($conn_id);

"poutarde.odt"файл находится в корне FTP.

Я проверил загрузку FTP с клиента (filezilla) и все работает отлично.Тем не менее, используя ftp_get, я ничего не получаю (кроме эха «Возникла проблема»), нет даже ошибки PHP, просто происходит сбой.

Спасибо за помощь.

Reno

1 Ответ

0 голосов
/ 21 июня 2011

ftp_get ожидает обработчик файла, а не имя файла.

$local_file = fopen("poutarde.odt",'w');
//...
if(ftp_get($conn_id, $local_file, $server_file, FTP_BINARY))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...