![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Подскажите, как максимально быстро получить дерево каталогов ftp аккаунта ?
Сейчас реализовано с помощью рекурсии и Net::FTP, работает медленно =(
|
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
ls -lR ?
|
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
arto, а как эту команду передать на выполнение фтп серверу ?
|
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
попробовал так :
возвращает пустой массив. Вероятно фтп сервер не поддерживает выполнение такой команды. |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
quot
|
|||
|
||||
| nIkTo |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
arto, из описания метода quot :
первая цифра кода ответа : 5, тоесть команда не выполнилась. |
||||
|
|||||
| ad280379 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2009 Репутация: нет Всего: нет |
хм... что-то я не совсем понял суть вопроса. в методах четко есть следующее :
|
||||||
|
|||||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
ad280379, помоему вопрос предельно понятно задан.
Задача : Поучить дерево каталогов на фтп аккаунте, затратив минимально времени. Одно из решений : Рекурсивный вызов функции которая производит листинг указанной директории, тем самым формируется дерево катологов. Минусы данного решения : медленная работа Решение каторое предложил arto: Получить дерево каталогов одним запросом с помощью команды ls -lR, похоже такая команды не поддерживается фтп сервером. |
|||
|
||||
| ad280379 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2009 Репутация: нет Всего: нет |
спасибо за разъяснения. вот только все в этой жизни относительно - у меня такое работает на ура. с другой стороны подобного рода информация уже есть в корне ftp в виде файла который просто нужно отпарсить. |
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
ad280379, есть два вопроса к вам :
|
|||
|
||||
| ad280379 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2009 Репутация: нет Всего: нет |
1) встроенные методы моделя NET::Ftp - ls и dir 2) например ftp://ftp.debian.org/debian/ls-lR.gz если сервер ваш то генерить сей файл очень просто на стороне сервера. вообщето это есть правило хорошего тона держать данный файл на ftp сервере |
||||
|
|||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
ad280379, теперь мне всё понятно
З.Ы. ad280379, учите русский. Это сообщение отредактировал(а) nIkTo - 2.12.2009, 21:56 |
|||
|
||||
| ad280379 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2009 Репутация: нет Всего: нет |
учите Perl |
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
ad280379, оффтоп с вашей стороны.
И ещё добавлю к выше сказанному, может господин ad280379 не в курсе : для фтп аккауна каторый вы привели в качестве примера выше (ftp://ftp.debian.org/debian/ls-lR.gz) директория debian не является корнем. У меня всё. |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
обычно ls -lR преобразовывается к виду LIST -R который выдает рекурсивный листинг каталогов.
обычно сервера поддерживают его, хотя можно запретить административно. |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |