从FTP显示所有文件夹 - PHP保持循环::错误::

时间:2011-01-17 11:11:57

标签: php ftp

我正在尝试使用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);

2 个答案:

答案 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也将返回

.

..

对于同一个和父目录。 你需要将它们排除在外。