Здравствуйте! Возникла такая нужда, работать с ftp средствами php, а точнее нужно получить содержимое папки, к примеру корневой, я это делаю с помощью функции ftp_nlist(); Все как бы хорошо, но вот как отличить файлы от каталогов, ведь имя каталога может быть name.jpg Заранее большое спасибо!
ftp_nlist — Возвращает список файлов в заданной директории Добавлено спустя 56 секунд: Вы это для удаленного от скрипта сервере делаете?
Да, скрипт работает на удаленном от скрипта сервере! я вот придумал такой вариант с помощью функции ftp_rawlist() можно вывести полный список содержимого папки с временем изменения и атрибутами... так вот по атрибутам можно определить файл это или папка! Только не знаю правильно я делаю или нет))) Смотрел в нете там было написано что можно проверить с помощью функции is_dir() Но как я и думал, она у меня не стала работать, может я и что то делал не так...
Код (PHP): <?php // Устанавливаем соединение с FTP-сервером require_once("config.php"); // Директория на сервере // $dir = "/html/forum/"; $dir = "/"; // Запускаем сканер scan_ftp($link, $dir); // Закрываем соединение с FTP-сервером ftp_close($link); // Результат находится в глобальном массиве $filename echo "<pre>"; print_r($filename); echo "</pre>"; //////////////////////////////////////////////////////// // Рекурсивная функция спуска по дереву // директорий //////////////////////////////////////////////////////// function scan_ftp($link, $dir) { GLOBAL $filename; // Получаем все файлы корневого каталога // Дескриптор соединения $link получен в config.php $file_list = ftp_rawlist($link, $dir); // Выводим содержимое каталога foreach($file_list as $file) { // Разбиваем строку по пробельным символам list($acc, $bloks, $group, $user, $size, $month, $day, $year, $file) = preg_split("/[\s]+/", $file); // Если файл начинается с точки - игнорируем его if(substr($file, 0, 1) == '.') continue; // Определяем является ли объект директорией if(substr($acc, 0, 1) == 'd') { // Директория scan_ftp($link, $dir.$file."/"); } // Определяем является ли объект файлом if(substr($acc, 0, 1) == '-') { // Файл $filename[] = $file." - ".$dir.$file; } } } ?> Добавлено спустя 1 минуту 16 секунд: http://www.php.ru/forum/viewtopic.php?t=19668