函数名:ftp_mlsd()
适用版本:PHP 7.2.0 及以上版本
用法:ftp_mlsd() 函数用于获取指定FTP服务器上的目录列表。它返回一个数组,包含目录中每个文件和子目录的详细信息。
语法:array ftp_mlsd ( resource $ftp_stream [, string $directory ] )
参数:
- ftp_stream:一个有效的 FTP 连接资源。
- directory(可选):要获取目录列表的目录路径。如果未指定,默认为当前目录。
返回值:成功时返回一个包含文件和目录信息的数组,失败时返回 false。
示例:
// 连接到 FTP 服务器
$ftp_server = 'ftp.example.com';
$ftp_user = 'username';
$ftp_pass = 'password';
$ftp_conn = ftp_connect($ftp_server);
ftp_login($ftp_conn, $ftp_user, $ftp_pass);
// 获取目录列表
$directory = '/public_html';
$files = ftp_mlsd($ftp_conn, $directory);
if ($files !== false) {
foreach ($files as $file) {
// 打印文件名和修改时间
echo $file['name'] . ' - ' . $file['modify'] . '<br>';
}
} else {
echo '获取目录列表失败';
}
// 关闭 FTP 连接
ftp_close($ftp_conn);
上述示例中,首先通过 ftp_connect() 和 ftp_login() 函数连接到 FTP 服务器。然后使用 ftp_mlsd() 函数获取指定目录的文件和子目录的详细信息,并将结果存储在 $files 变量中。最后通过 foreach 循环遍历 $files 数组,打印每个文件的名称和修改时间。最后使用 ftp_close() 函数关闭 FTP 连接。
请注意,示例中的参数和连接细节需要根据实际情况进行调整。