Форум: "Прочее";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
Внизphp + ftp Найти похожие ветки
← →
Nous Mellon_ (2007-09-12 00:16) [0]Доброе время суток. Пишу скрипт на пхп, который работает с фтп. Задача скрипта залогинится по фтп на сервер, и показать все файлы и папки, которые там есть. Вроде мини-клиента. С коннектом, логином и прочим проблем нет, а вот с получением списка файлов и папок(их нужно отдельно) возникли непонятки.
Если для файлов в пхп еще есть ф-ция ftp_nlist, то уж папки приходится выдирать из того что возвращает ftp_rawlist. А оно возвращает массив строк ответа сервера. Например такую
------------
drwxr-x--- 3 vincent vincent 4096 Jul 12 12:16 public_ftp
------------
Когда я тестил эту программу у себя, то все работало, я делил каждую строку на массив слов, и точно знал что в 9м элементе массива будет имя файла\папки. Но когда дал скрипт тестеру выяснилось что там где он тестит фтп-сервер почему-то возвращает результат работы ft-Prawlist в другом виде, там в строке всего лишь дата создания и имя файла\папки. Т.е. скрипт работает неверно. Такое встречается иногда. Как мне сделать свой скрипт универсальным? Гуглил, ничего дельного не нашел.
← →
Anatoly Podgoretsky © (2007-09-12 00:18) [1]> Nous Mellon_ (12.09.2007 00:16:00) [0]
Нельзя сделать универсально, поскольку имеется несколько десятков форматов.
← →
Nous Mellon_ (2007-09-12 00:26) [2]> [1] Anatoly Podgoretsky © (12.09.07 00:18)
> > Nous Mellon_ (12.09.2007 00:16:00) [0]
>
> Нельзя сделать универсально, поскольку имеется несколько
> десятков форматов.
Анатолий, а как же работают фтп-клиенты? мой коннетится исправно
← →
Kerk © (2007-09-12 00:29) [3]> [2] Nous Mellon_ (12.09.07 00:26)
Некоторые FTP сервера генерируют разные листинги в ответ на одну и ту же
стандартную команду.
1. Некоторые сервера генерируют листинги, содержащие нестандартные символы
разделители. В результате плагин ошибается при разборе полученного
листинга.
Решить эту проблему можно изменив используемую команду получения листинга
("LIST -la" вместо "LIST", или наоборот)
2. Некоторые сервера не понимают параметры команды "LIST" и генерируют
листинг, которые не содержит имен файлов вообще, только имена директорий.
Один известный сервер с таким поведением - это "ftp.timus.ru".
Чтобы избежать этого используйте команду "LIST" (или отключите
использование расширенной команды листинга для этого сервера).
3. Некоторые сервера возвращают неправильные даты и времена файлов или не
возвращают их вовсе.
Будьте готовы к тому, что дата файла не соответствует реальной дате файла
на сервере.
Из ридми FARовского ftp-плагина
← →
Nous Mellon_ (2007-09-12 00:32) [4]Спасибо за инфу, Ром. Фиг знает, что делать...
← →
de. (2007-09-12 08:02) [5]Question all...
Ну должны же быть готовые скрипты.?!
← →
Anatoly Podgoretsky © (2007-09-12 10:16) [6]> Nous Mellon_ (12.09.2007 00:26:02) [2]
Каком они работают, или на предположение, что это Юникс тайп или на явном указание типа ФТП, более хитрые пытаются сами определить формат с помощью анализа строки на характерные признаки.
← →
Юрий © (2007-09-12 11:28) [7]Советую почитать "Профессиональное PHP программирование, 2-е издание. Луис Аргерих, Ванкиу Чой, Джон Коггсхол", глава "Кодирование клиентов FTP". Анализ возвращаемого формата листингов каталогов там есть.
← →
Nous Mellon_ (2007-09-12 11:52) [8]Спасибо за наводку -- попробую найти в Электронном виде
← →
VictorT © (2007-09-12 13:28) [9]
> приходится выдирать из того что возвращает ftp_rawlist
В примечании к описанию этой функции сказано:
Идентификатор системного типа, возвращаемый функцией ftp_systype(), можно использовать для определения того, как должен интерпретироваться результат.
Это, конечно, ещё не ответ, но зацепка.
← →
Anatoly Podgoretsky © (2007-09-12 19:13) [10]> VictorT (12.09.2007 13:28:09) [9]
С ftp_systype можно далеко залететь.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c