На своей веб-странице я пытаюсь подключиться к FTP-серверу и скачивать с него файлы с помощью PHP. Соединение работает, как и ожидалось, но когда я пытаюсь изменить каталог с помощью ftp_chdir()
, он сообщает, что каталог не найден.
Когда я проверил файлы с помощью ftp_nlist()
, я обнаружил, что ни каталоги, ни файлы не были показаны.
$ftp_server = "server";
$conn_id = ftp_connect ($ftp_server)
or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, "user", "pass");
if ((!$conn_id) || (!$login_result))
die("FTP Connection Failed");
$today = date("d.m.Y");
ftp_sync ($today);
ftp_close($conn_id);
function ftp_sync ($dir) {
global $conn_id;
if ($dir != ".") {
if (ftp_chdir($conn_id, $dir) == false) {
echo ("Change Dir Failed: $dir<BR>\r\n");
return;
}
if (!(is_dir($dir)))
mkdir($dir);
chdir ($dir);
}
$path = 'path/to/storedirectory';
$contents = ftp_nlist($conn_id, ".");
foreach ($contents as $file) {
if ($file == '.' || $file == '..')
continue;
if (@ftp_chdir($conn_id, $file)) {
ftp_chdir ($conn_id, "..");
ftp_sync ($file);
}
else{
$local_file = $path.$file;
ftp_get($conn_id, $local_file, $file, FTP_BINARY);
}
}
ftp_chdir ($conn_id, "..");
chdir ("..");
}
Это как-то связано с версией PHP, так как этот код успешно выполняется на моем локальном веб-сервере, но не на моем веб-пространстве с версией 5.3.30, или я совершаю какую-то другую ошибку?