-6ren">
gpt4 book ai didi

php - 通过 FTP 获取文件列表

转载 作者:可可西里 更新时间:2023-10-31 22:44:45 26 4
gpt4 key购买 nike

我想打印文件列表,并且只打印来自 FTP 服务器的文件,这是我可以完成的。

<?php
$ftp_server = "my ftp server";
$conn_id = ftp_connect($ftp_server);
$ftp_user_name = "ftp username";
$ftp_user_pass = "ftp password";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$contents = ftp_nlist($conn_id, '/');
for ($i = 0 ; $i < count($contents) ; $i++)
echo "<li>" . substr($contents[$i],1) . "</li>";
ftp_close($conn_id);
?>

但这会打印文件和文件夹的名称。我怎样才能只打印文件名(文件可能没有扩展名!)

最佳答案

选项:

1) 您可以使用 ftp_rawlist 而不是 ftp_nlist 来获取文件/目录的完整列表,这应该表明它是否是一个目录。但是,该列表的格式将取决于 ftp 服务器的操作系统。例如,在 unix/linux 系统上,原始列表可能如下所示:

drwxrwxr-x  3 jm72 jm72  4096 Nov  2 16:39 myDir
-rw-rw-r-- 1 jm72 jm72 257 Nov 2 16:39 myFile

第一列中的“d”会告诉您这是一个目录。不确定它在 Windows 服务器上会是什么样子。

2) 对于您返回的每个文件名,尝试将其放入 CD。如果可以,它就是一个目录!

if (ftp_chdir($conn_id, substr($contents[$i],1)) {
//it's a directory, don't include it in your list
ftp_cdup($conn_id) //don't forget to go back up to the directory you started in!
}

关于php - 通过 FTP 获取文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4088805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com