Forum Webscript.Ru

Программирование => PHP => Тема начата: nagash от 22 Января 2003, 21:53:55

Название: скачать целиком директорию...
Отправлено: nagash от 22 Января 2003, 21:53:55
хочу сделать вот что...
конекчусь по ФТП (все данные известны)
и скачиваю целиком директорию (с поддиректориями)
вопросец...
ftp_nlist - возвращает только файлы? или папочки тоже...
а как сделать чтобы выкачать бесконечное количество вложеных папочек...
это же надо каждую просканировать... а если их там куча...?
Название: скачать целиком директорию...
Отправлено: Меняздесьдавнонет от 22 Января 2003, 23:53:17
я бы через exec запустил системный ftp
или попробуй http://www.v-wijk.net/
Название: скачать целиком директорию...
Отправлено: Stas от 23 Января 2003, 00:01:28
tebe skoree togda chto-to tipa ftpcopy nado ispolzovat\'...

http://www.ohse.de/uwe/ftpcopy/ftpcopy-0.6.0.tar.gz
Название: скачать целиком директорию...
Отправлено: Макс от 23 Января 2003, 01:04:54
ну и как вариант - pear :: net :: ftp
у него есть метод
getRecursive ( $remote_path, $local_path, $overwrite = false, $mode = null )

Судя по комментариям в классе это то что нужно (на практике я его не использовал)
Название: скачать целиком директорию...
Отправлено: nagash от 23 Января 2003, 02:09:12
всё крута... всё посмотрел...
но было бы неплохо написать эту функцию самому...
потому что есть задумки в другом месте использовать... но полубому принцип тот же останется... просканивать на неопределённую глубину папки...
надо написать функцию которая всё это делала бы...
есть идея... создавать многомернейшим массив... конечным результатом которого например будет
$folder[1][1][file]
$folder[2][file]
$folder[2][file]
$folder[3][1]
$folder[3][2][file]
примерно такого плана... =) но я никак не соображу как это сделать...
Название: скачать целиком директорию...
Отправлено: nagash от 23 Января 2003, 02:45:13
немогу закончить... помогите пожалуйста...
var $folder;
function scan($papka) {
сканирует папку и попутно засовывает в массив названия
$folder[$i] = $nazvanie;
проверяет.... если то что она засунула папка тогда
scan($papka);
всё закончила...
}
впринципе принцип очень простой и хороший... вот только одно но.. как увеличивать вложенность элементов переменной $folder
чтобы следующий раз когда она вызовет функцию скан не заменялись элементы а дальше записывались $folder[1][$i]....
м...?
Название: скачать целиком директорию...
Отправлено: Maniac от 23 Января 2003, 20:04:28
nagash
Не надо выеживаться. Используй стандартный алгоритм для рекурсивного спуска. Примерно такой (пишу для локальной папки. Для FTP сам переделаешь):

function scan($folder)
{
Как-то там обрабатываем папку;
//Спускаемся
$dir=opendir("./$folder");
while ($file=readdir($dir))
if ($file!=\'.\'&&$file!=\'..\'&&is_dir($file))
scan("$folder/$file");
}

scan(\'.\');
Название: скачать целиком директорию...
Отправлено: nagash от 23 Января 2003, 23:00:09
так я тоже самое придумал =) только вот эту вот мелочь пропустил (тыркнул пальцем в центр монитора)
=)
Название: скачать целиком директорию...
Отправлено: Maniac от 23 Января 2003, 23:06:01
nagash
Ну, ладно-ладно. В следующий раз дядя Маньяк не будет писать столь тривиального кода. А хочешь ту же саму задачу, но со стеком? Тоже, кстати, классический алгоритм
Название: скачать целиком директорию...
Отправлено: nagash от 23 Января 2003, 23:14:45
хочу конечно!