При подключении к FTP-серверу в PHP каталог не отображается - PullRequest
0 голосов
/ 02 мая 2018

На своей веб-странице я пытаюсь подключиться к 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, или я совершаю какую-то другую ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...