Функция PHP ftp_mlsd(): получение списка каталогов FTP с примерами

Функция php ftp_mlsd() — это функция FTP (протокол передачи файлов) в PHP, которая используется для получения списка каталогов с помощью команды MLSD. Эта функция обеспечивает более структурированный и машиночитаемый формат списка каталогов.

Вот пример использования функции ftp_mlsd()в PHP:

// Connect to FTP server
$ftp_server = 'ftp.example.com';
$ftp_username = 'your_username';
$ftp_password = 'your_password';
$ftp_connection = ftp_connect($ftp_server);
ftp_login($ftp_connection, $ftp_username, $ftp_password);
// Get the directory listing using ftp_mlsd()
$directory = '/';
$listing = ftp_mlsd($ftp_connection, $directory);
// Process the directory listing
foreach ($listing as $item) {
    $name = $item['name'];
    $type = $item['type'];
    if ($type === 'file') {
        echo "File: $name\n";
    } elseif ($type === 'dir') {
        echo "Directory: $name\n";
    }
}
// Close FTP connection
ftp_close($ftp_connection);

В этом примере мы сначала подключаемся к FTP-серверу с помощью функций ftp_connect()и ftp_login(). Затем мы указываем каталог, для которого хотим получить список (в данном случае корневой каталог «/»), и передаем его в функцию ftp_mlsd(). Функция возвращает массив с информацией о листинге.

Затем мы просматриваем массив списков и обрабатываем каждый элемент. Ключ nameсодержит имя файла или каталога, а ключ typeуказывает, является ли это файлом или каталогом. Мы используем эту информацию, чтобы различать файлы и каталоги и выполнять соответствующие действия.

Наконец, мы закрываем FTP-соединение с помощью ftp_close().