PHP custom method to traverse all files in a directory
<span>header('content-type:text/html;charset=utf-8');<br />/**<br /> * 方法一:使用readir()遍历目录<br /> */<br />function listDir($dir)<br />{<br /> if(is_dir($dir))<br /> {<br /> if($handle = opendir($dir))<br /> {<br /> while($file = readdir($handle))<br /> {<br /> if($file != '.' && $file != '..')<br /> {<br /> if(is_dir($dir.DIRECTORY_SEPARATOR.$file))<br /> {<br /> echo '目录名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />';<br /> listDir($dir.DIRECTORY_SEPARATOR.$file);<br /> }else{<br /> echo '文件名:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />';<br /> }<br /> }<br /> }<br /> }<br /> closedir($handle);<br /> }else{<br /> echo '非有效目录!';<br /> }<br />}<br />listDir('./phpmyadmin');</span>
<span>/**<br /> * 方法二:使用dir()遍历目录<br /> * dir()函数,成功时返回Directory类实例<br /> */<br />function</span> tree(<span>$dir</span><span>) { </span><span>$mydir</span> = <span>dir</span>(<span>$dir</span><span>); </span><span>while</span>(<span>$file</span> = <span>$mydir</span>-><span>read()) { </span><span>if</span>(<span>$file</span> != '.' && <span>$file</span> != '..'<span>) { </span><span>if</span>(<span>is_dir</span>("<span>$dir</span>/<span>$file</span>"<span>)) { </span><span>echo</span> '目录名:'.<span>$dir</span>.DIRECTORY_SEPARATOR.'<font color="red">'.<span>$file</span>.'</font><br />'<span>; tree(</span>"<span>$dir</span>/<span>$file</span>"<span>); }</span><span>else</span><span>{ </span><span>echo</span> '文件名:'.<span>$dir</span>.DIRECTORY_SEPARATOR.<span>$file</span>.'<br />'<span>; } } } </span><span>$mydir</span>-><span>close(); } tree(</span>'./phpmyadmin');
Black Eyed Poet: For more PHP file system functions, please refer to Filesystem function