[英]Why is scandir() returning false for directories?
我有一個名為client_images
的目錄,其中dir_1
, dir_2
和dir_3
作為子目錄。 當我運行以下內容時:
foreach(scandir("client_images") as $key => $value ){
if(is_dir($value)){
echo $value." is a dir.<br>";
}
else{
echo $value." is not a dir.<br>";
}
}
我得到:
. is a dir. .. is a dir. dir_1 is not a dir. dir_2 is not a dir. dir_3 is not a dir.
為什么php為目錄返回false?
你正在做scandir("client_images")
; 結果是沒有 client_images/
path的裸文件名,所以它在當前目錄中查找它們。 當然,唯一的目錄可能是共同的.
。 和client_images/
是.
和..
,所有目錄中的條目。
您可以使用DirectoryIterators掃描目錄。 使用以下代碼檢查文件是否是目錄
$iterator = new DirectoryIterator('path');
foreach ($iterator as $fileinfo) {
if ($fileinfo->isDir()) {
echo $fileinfo->getFilename() . "\n";
}
}
$mydir = "client_images/";
foreach(scandir($mydir) as $key => $value ){
if(is_dir($mydir . $value)){
echo $value." is a dir.<br>";
}
else{
echo $value." is not a dir.<br>";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.