Задать вопрос
@CeBePHblY

Почему file_get_contents не получает по ftp содержимое файла?

На сервере Ubuntu настроен FTP сервер. Все прекрасно подключается через клиента. На этом же сервере стоит сайт, в нем есть файлик ftp.php такго содержания;
<?php
$ftphost        = '91.2**.*11.**';
$ftpport        = '21';
$ftpuser        = 'user';
$ftppasswd      = 'o$ofrJhjky4K+/`4';
$file = 'otchet.txt';
// Папка, которую нужно выводить
$folder         = 'docs/otchet/2016';
$content = file_get_contents('ftp://'.$ftpuser.':'.$ftppasswd.'@'.$ftphost.'/'.$folder.'/'.$file);
echo ($content);
?>

Но file_get_contents не получает содержимое. В ftphost вставлял и localhost и 127.0.0.1, но все равно не получает содержимое. В логах фтп сервера написано что клиент подключился без ошибок. А в логах php такая ошибка:
file_get_contents:failed to open stream
Подскажите что не так?
  • Вопрос задан
  • 890 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 2
Acuna
@Acuna
Заполнил свой профиль
Главная ошибка разрабов в том, что они знают только file_get_contents и пытаются им сделать все, вплодь до cURL. Пользуйте стандартные инструменты для работы с FTP: php.net/manual/ru/book.ftp.php, там и контроль ошибок есть, и сертификаты, и все что нужно. И да, в отличиии от file_get_contents они скажут что не так.
Ответ написан
Комментировать
DmitryVoronkov
@DmitryVoronkov
Python Developer
А зачем подключать по фтп на этот же сервер, чтоб вывести содержимое папки?
Так просто нельзя сделать?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы