為什麼明明好幾個資料夾呢 只echo出來一個a資料夾呢?而且a前面還有三個點 這是為什麼?
<code> $dir = "upload/"; if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh))!= false){ if(is_dir($file)) { echo $file; } } closedir($dh); } }</code>
為什麼明明好幾個資料夾呢 只echo出來一個a資料夾呢?而且a前面還有三個點 這是為什麼?
<code> $dir = "upload/"; if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh))!= false){ if(is_dir($file)) { echo $file; } } closedir($dh); } }</code>
is_dir($file)
的用法不對。
也許你想遍歷 e:/www/project/public/upload, 但是$dir = "upload" 不一定你想要的地址。一般這裡都是結合魔術變數處理的。例如
<code>$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; } }</code>
建議多看一下PHP的手冊,而不是書或視頻,或順序問題,要先看了手冊再看書或影片。這個東西在手冊上有標準的例子。