Показать все папки с FTP - PHP держит циклы :: Ошибка :: - PullRequest
0 голосов
/ 17 января 2011

Я пытаюсь получить список dir из ftp, используя php, следующий код выводит следующую информацию.

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 голосов
/ 17 января 2011

ftp_nlist также вернет

.

и

..

для того же самого и родительского каталога.Вы должны исключить их.

0 голосов
/ 17 января 2011

Я не уверен, что это только предположение.Вы можете попробовать, изменив свою функцию с помощью 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);
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...