為什麼明明好幾個檔案夾呢 只echo出來一個a檔案夾呢?而且a前面還有三個點 這是為什嗎?
$dir = "upload/"; if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh))!= false){ if(is_dir($file)) { echo $file; } } closedir($dh); } }
回複內容:
為什麼明明好幾個檔案夾呢 只echo出來一個a檔案夾呢?而且a前面還有三個點 這是為什嗎?
$dir = "upload/"; if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh))!= false){ if(is_dir($file)) { echo $file; } } closedir($dh); } }
is_dir($file)的用法不對。
也許你想遍曆 e:/www/project/public/upload, 但是$dir = "upload" 不一定你想要的地址。一般這裡都是結合魔術變數處理的。例如
$base = __DIR__;$dir = $base . '/upload';echo $dir; //看看是不是這個目錄// if (is_dir($dir)) <- 這個判斷沒用,你自己要求遍曆upload的,還檢查一遍,不相信自己?如果要處理的話也應該這樣做if (! is_dir($dir)) { //建立這個目錄}$dh = opendir($dir);while($file = readdir($dh)) { if ($file === '.' || $file === '..') continue; //理由自己搜尋,太基礎了 if (is_dir($dir . '/' . $file)) { //要使用完整路徑 echo $file; }}
建議多看一下PHP的手冊,而不是書或者視頻,或者順序問題,要先看了手冊再看書或者視頻。這個東西在手冊上有標準的例子。