PHP: Почему «filetype ()» и «is_file ()» не могут прочитать файл на FTP-сервере? - PullRequest
0 голосов
/ 15 сентября 2009

У меня возникли некоторые проблемы при попытке проверить файлы на FTP-сервере.

Я установил сервер FTP (filezilla) на тестовом компьютере, где я мог взаимодействовать с ним с другого веб-сервера, работающего в локальной сети. Я использовал PHP для обхода каталогов на FTP-сервере по локальной сети. В моем приложении у меня были вызовы filetype () и совсем недавно is_file () для проверки типов файлов и т. Д.

Теперь я развернул приложение в другом месте, настроил общий ресурс FTP на NAS и запустил мое приложение на отдельном веб-сервере, подключенном к локальной сети, и вот здесь начинаются проблемы. Мое приложение теперь терпит неудачу в вызовах filetype () и is_file (). Я установил общий ресурс FTP на NAS для чтения / записи.

'is_file ()' = Тихо, без ошибок сообщается.

'filetype ()' = Предупреждение: filetype () [function.filetype]: сбой Lstat для ftp://192.168.0.36/PDFs/6008300/6008386/v1/6008386.pdf в C: \ Program Files \ Apache Software Фонд \ apache2.2 \ HTDOCS \ приложение \ app.php по линии 326

Есть мысли?

Я могу обойти эту ошибку, не используя вышеуказанные функции, но это снижает безопасность этого скрипта.

EDIT:

PHP - версия 5.2.4

FTP-сервер не требует ввода логина или пароля.

1 Ответ

2 голосов
/ 15 сентября 2009

Для функций is_file () и filetype () требуется поддержка stat () из соответствующей оболочки протокола .

Для FTP / FTPS, этого не хватало в PHP4, но поддерживается в PHP5 .

Развернули ли вы это на сервере на PHP4?

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