//Конфигурационный файл config.php
// Адрес FTP-сервера
$ftp_server = "ftp.server.ru";
// Порт соединения
$ftp_port = 21;
// Пользователь
$ftp_user = "softtime";
// Пароль
$ftp_password = "";
// Версия Web-приложение
$version = "1.0.0";
// Устанавливаем время исполнения скрипта 120 с
// Пытаемся установить соединение с FTP-сервером
if(!$link) puterror("К сожалению, не удаётся установить соединение с FTP-сервером $ftp_server");
// Осуществляем регистрацию на сервере
$login = ftp_login($link, $ftp_user, $ftp_password); //$login = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if(!$login) puterror("К сожалению, не удаётся зарегистрироваться на сервере");
// Небольшая вспомогательная функция, которая выводит сообщение об ошибке
// в окно браузера
function puterror($message)
{
echo "<center><p class=help>$message</p>";
}
// FTP-сканер index.php
// Устанавливаем соединение с FTP-сервером
require_once("config.php");
// Директория на сервере
// $dir = "/html/forum/";
$dir = "/";
// Запускаем сканер
scan_ftp($link, $dir);
// Закрываем соединение с FTP-сервером
// Результат находится в глобальном массиве $filename
echo "<pre>";
echo "</pre>";
////////////////////////////////////////////////////////
// Рекурсивная функция спуска по дереву
// директорий
////////////////////////////////////////////////////////
function scan_ftp($link, $dir)
{
GLOBAL $filename;
// Получаем все файлы корневого каталога
// Дескриптор соединения $link получен в config.php
// Выводим содержимое каталога
foreach($file_list as $file)
{
// Разбиваем строку по пробельным символам
$bloks,
$group,
$user,
$size,
$month,
$day,
$year,
// Если файл начинается с точки - игнорируем его
if(substr($file, 0, 1) == '.') continue; // Определяем является ли объект директорией
{
// Директория
scan_ftp($link, $dir.$file."/");
}
// Определяем является ли объект файлом
{
// Файл
$filename[] = $file." - ".$dir.$file;
}
}
}