PHP 遍历目录的三种方法
我们有时候需要读取目录里面的内容,在 PHP 有多个函数可以获取文件系统目录信息,今天就给大家分享 PHP 遍历目录的三种方法。
用 dir() 返回对象
function listDir($dir){
$mydir = dir($dir);
echo "<ul>";
while($file = $mydir->read()){
if((is_dir("$dir/$file"))){
echo "<li>$file</li>";
listDir("$dir/$file");
}
elseif($file!=="."&$file!=="..")
echo "<li><a href='$dir/$file' target='_blank'>$file</a></li>";
}
echo "</ul>";
$mydir->close();
}
listDir(".");
使用 readdir() 函数
function listDir2($dir) {
$mydir=opendir($dir);
echo "<ul>";
while(($file=readdir($mydir))!==false) {
if ($file!='.'&&$file!='..') {
if (is_dir($file)) {
echo "<li class='dir'>$file</li>";
listDir2("$dir/$file");
}else{
echo "<li class='file'><a href='$dir/$file' target='_blank'>$file</a></li>";
}
}
}
closedir($mydir);
echo "</ul>";
}
listDir2('.');
使用 scandir() 函数
function listDir3($dir) {
$mydir=scandir($dir);
echo "<ul>";
foreach ($mydir as $key => $value) {
if ($value!='.'&&$value!='..') {
if (is_dir($value)) {
echo "<li class='dir'>$value</li>";
listDir3("$dir/$value");
}else{
echo "<li class='file'><a href='$dir/$value' target='_blank'>$value</a></li>";
}
}
}
echo "</ul>";
}
listDir3(".");
对于上面提到的3个函数,对执行速度没有做过测试,你可以按照你的习惯和喜欢选用一个。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论