Pureftpd-загрузка при загрузке изображения через ftp

#php #ftp

#php #ftp

Вопрос:

Я пытаюсь загрузить изображение с одного сервера на другой сервер через FTP, используя PHP.Но загруженные данные показывают ошибкуpureftpdupload.5809ed2f.15.7b36.24316ca6. Я использую этот код.

     $connection = 'servername';
    $username = 'xxxx';
    $password = 'yyyy';
    $local_file = 'http://servername/test.jpg';
    $remote_file = 'admin/files/company/test.jpg';
    $connection = ftp_connect($server);

    if (@ftp_login($connection, $username, $password)) {
        // successfully connected
        //echo 'connected';exit;
    } else {
        echo 'not connected';
        return false;
    }
    if (ftp_put($connection, $remote_file, $local_file, FTP_BINARY)) {
     echo "successfully uploadedn";
    } else {
     echo "There was a problem while uploading n";
    }
  

Комментарии:

1. Что это значит «загруженные данные показывают ошибкуpureftpdupload.5809ed2f.15.7b36.24316ca6» ?

2. при загрузке на другой сервер загруженный файл отображается следующим образом. я думаю, что файл временной загрузки.

3. Вы имеете в виду, что после завершения вашей загрузки кода в папке назначения (при просмотре в каком-либо FTP-клиенте) отображается .pureftpdupload.5809ed2f.15.7b36.24316ca6 файл вместо файла, который вы загрузили?

4. да, загруженный файл называется .pureftpdupload.5809ed2f.15.7b36.24316ca6

5. Но на самом деле я загрузил изображение.

Ответ №1:

Я предполагаю, что вы хотите загрузить локальный файл с веб-сервера. Но по ошибке или недоразумению вы используете HTTP URL файла ( http://servername/test.jpg ) вместо локального пути к файлу.

Попробуйте использовать реальный локальный путь, например /home/user/test.jpg .

Это может работать как общее решение: $_SERVER['DOCUMENT_ROOT']."/test.jpg"

Комментарии:

1. Проблема в том, что при загрузке через FTP нам нужно предоставить разрешение для этого пути к целевому изображению с именем изображения.