Пишу крупный проект, но сталкнулся с тупой ошибкой, ФТП открывается в браузере - и выводит список файлов Но следующий код не может получить список файлов на FTP, выдает пустой массив Сам код: PHP: <?php $ftp_server="---"; $ftp_user_name="---"; $ftp_user_pass="---"; // установка соединения $conn_id = ftp_connect($ftp_server); // проверка имени пользователя и пароля $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // получение списка файлов директори / $buff = ftp_rawlist($conn_id, '/'); // закрытие соединения ftp_close($conn_id); // вывод буфера var_dump($buff); ?> Что я только не перепробовал, локальный фтп сервер открывает нормально, возможно проблема с кодировкой или что-то в этом роде, помогите, готов заплатить за помощь, нуждаюсь в реализации срочно =(
Предложите пожалуйста любую другую рабочую реализацию вывода файлов на фтп для конкретного фтп сервера.
Настоятельно рекомендую убрать ссылку и сменить пароль. В коде тоже их потри. По теме. Должно все работать. У тебя конект к фтп вообще проходит?
Да, коннект есть, другие фтп команды выполняюся корректно, ссылку затем и оставил, чтобы протестить смогли. Не выводится только список файлов. У меня такая проблема была в программе cuteFTP , который не видел файлов в корне, в то время, как интернет эксплорер их отображал.
Php.ru, только здесь профессионалы ответят точно в срок. Специально для наших посетителей мы поочередно несем ночное дежурство. Приходите к нам!
извиняюсь за некропостинг, но раз > только здесь профессионалы ответят точно в срок. Специально для наших посетителей мы поочередно несем ночное дежурство. то спрошу здесь столкнулся с подобной проблемой - не выводится список файлов в директории. код: Код (Text): <?php ini_set( 'display_errors' , '1' ); error_reporting(E_ALL); $conn_id = ftp_connect("сайт.ру"); $login_result = ftp_login($conn_id, "юзер", "пароль"); if (ftp_pasv($conn_id, true)) { echo "Initiated passive mode\n"; } else { echo "Could not initiated passive mode\n"; } ftp_chdir($conn_id, "/"); $nlist = ftp_nlist($conn_id, "/"); $nlist = ftp_nlist($conn_id, "/"); $nlist = ftp_nlist($conn_id, "/"); $buff = ftp_rawlist($conn_id, "/"); $buff = ftp_rawlist($conn_id, "/"); $buff = ftp_rawlist($conn_id, "/"); ftp_close($conn_id); print_r($buff); print_r($nlist); ?> выполняю в консоли: Код (Text): bash-3.2$ php check.php Initiated passive mode Array ( ) Array ( ) как, наверное, уже видно по коду - я изгуглил весь гугл, и пробовал всё, что можно - переходил в пассивный режим, сменял директорию перед запросом списка, выполнял запрос три раза подряд (да, такое я тоже встретил). также нагуглил, что могут быть проблемы с open_basedir и папкой /tmp - сделал юзеру open_basedir / и проверил, что на /tmp стоят права 777 проблема точно не зависит от версии php, т.к. на одном сервере проверял две версии php - с обеими такая проблема. самое интересное то, что под рутом этот код работает! то есть пхп от имени юзера явно не хватает каких-то прав, но вот дурная функция ленится сказать, каких именно. естественно, всевозможные error_reporting`и добавлял, и даже логи апача курил (не знаю, правда, зачем) - никаких ошибок или даже варнингов/нотисов. помогайте, коллеги //если это что-нибудь даст, система: centos 5.4, php версий 5.2.14 и 5.3.2