폴더가 여러개 있는데 a 폴더가 하나만 에코되는 이유는 무엇인가요? 그리고 a 앞에 점 3개가 있는데 왜 그럴까요?
<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>
폴더가 여러개 있는데 a 폴더가 하나만 에코되는 이유는 무엇인가요? 그리고 a 앞에 점 3개가 있는데 왜 그럴까요?
<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 매뉴얼을 더 많이 읽는 것이 좋습니다. 매뉴얼에는 이에 대한 표준 예가 있습니다.