我正在尝试使用php从ftp获取dir列表,以下代码输出以下信息。
httpdocs/user_images
httpdocs/user_images/inc
httpdocs/user_images/inc/smarty
httpdocs/user_images/header
httpdocs/user_images/header/logo80.jpg
httpdocs/user_images/header/logo80.jpg
httpdocs/user_images/header/logo80.jpg
httpdocs/user_images/header/logo80.jpg
它不断重复跟随httpdocs / user_images / header / logo80.jpg超过60次。
这是我的代码
function ListOfFolder($folder_listarry,$conn_id){
for ($i=0; $i<sizeof($folder_listarry); $i++) {
echo $folder_listarry[$i]."<br>";
$contents = ftp_nlist($conn_id, $folder_listarry[$i]);
ListOfFolder($contents,$conn_id);
}
}
$contents = ftp_nlist($conn_id, "httpdocs/");
ListOfFolder($contents,$conn_id);
答案 0 :(得分:0)
我不确定这只是猜测。您可以尝试使用is_dir
function ListOfFolder($folder_listarry,$conn_id){
for ($i=0; $i<sizeof($folder_listarry); $i++) {
echo $folder_listarry[$i]."<br>";
if (is_dir($folder_listarry[$i]) === false)
{
continue;
}
$contents = ftp_nlist($conn_id, $folder_listarry[$i]);
ListOfFolder($contents,$conn_id);
}
}
答案 1 :(得分:0)
ftp_nlist也将返回
.
和
..
对于同一个和父目录。 你需要将它们排除在外。