PHP Предупреждение: ftp_fput (): не удается открыть этот файл: каталог в - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь загрузить файл на FTP.

Вот мой код:

$connect = ftp_connect('ftp.my-server.fr');
$login = ftp_login($connect, 'username', 'pass');

$remote_file = '/' . $date;
$local_file = fopen('C:/MAMP/htdocs/mysite/myfolder/' . $hour .'.mp3', 'r');

ftp_chdir($connect, '/'.$date);

if (ftp_fput($connect, $remote_file, $local_file, FTP_ASCII)) {
    echo "The file $local_file has been loaded";
} else {
    echo "Error while uploading file " . $local_file;
}

Я получаю сообщение об ошибке:

PHP Предупреждение: ftp_fput (): не удается открыть этот файл: каталог в C: \ MAMP \ htdocs \ mysite \ index. php в строке 26

Я не знаю не понимаю, потому что путь к файлу. Когда я вставляю $local_file URL в моем браузере, воспроизводится звук.

1 Ответ

2 голосов
/ 26 апреля 2020

Ваш $local_file в порядке, но ваш $remote_file является каталогом (вы используете '/' . $date для ftp_chdir), и это должен быть путь к файлу (который будет создан)

Вы можете скопировать то же имя файла, что и локальный файл, с помощью basename:

$remote_dir = '/' . $date;
$local_file = fopen('C:/MAMP/htdocs/mysite/myfolder/' . $hour .'.mp3', 'r');

ftp_chdir($connect, $remote_dir);
$remote_file = $remote_dir . '/' . basename($local_file) ;

if (ftp_fput($connect, $remote_file, $local_file, FTP_ASCII)) {
    echo "The file $local_file has been loaded";
} else {
     echo "Error while uploading file " . $local_file;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...