0
我有以下函數枚舉給定文件夾中的文件和目錄。它適用於執行子文件夾,但出於某種原因,它不希望在父目錄上工作。任何想法爲什麼?我想這可能是PHP的設置或什麼的東西,但我不知道從哪裏開始。如果是這樣,我運氣不好,因爲這將運行在一個便宜的共享主機設置。枚舉父目錄中的文件
下面介紹如何使用該功能。第一個參數是要枚舉的路徑,第二個參數是要忽略的過濾器列表。我試過傳遞下面列出的完整路徑。我試過只傳球..
,./..
和realpath('..')
。似乎沒有任何工作。我知道這個功能並沒有默默地失敗。如果我手動添加一個目錄到dirs數組,我得到一個返回值。
$projFolder = '/hsphere/local/home/customerid/sitename/foldertoindex';
$items = enumerateDirs($projFolder, array(0 => "Admin", 1 => "inc"));
這裏的函數本身
function enumerateDirs($directory, $filterList)
{
$handle = opendir($directory);
while (false !== ($item = readdir($handle)))
{
if ($item != "." && $item != ".." && $item != "inc" && array_search($item, $filterList) === false)
{
$path = "{$directory->path}/{$item}";
if (is_dir($item))
{
$tmp['name'] = $item;
$dirs[$item] = $tmp;
unset($tmp);
}
elseif (is_file($item))
{
$tmp['name'] = $item;
$files[] = $tmp;
unset($tmp);
}
}
}
ksort($dirs, SORT_STRING);
sort($dirs);
ksort($files, SORT_STRING);
sort($files);
return array("dirs" => $dirs, "files" => $files);
}
謝謝,這是有道理的。由於這是一個側面項目,我以後不能再檢查。會讓你知道,但你說的話是有道理的(可能是對的)。 –