Heim > php教程 > php手册 > PHP glob函数遍历目录/文件夹方法介绍

PHP glob函数遍历目录/文件夹方法介绍

WBOY
Freigeben: 2016-06-02 09:13:49
Original
1257 Leute haben es durchsucht

如果说到php遍历目录我们很多朋友会想到是opendir与readdir了,这样就可以遍历目录并显示文件了,但在php中有一个更简洁的遍历目录的函数glob估计很少有人知道此函数,不过我觉得比起opendir与readdir要简单多了.

PHP glob函数的使用:glob-寻找与模式匹配的文件路径.

例子,代码如下:

<?php
$fileList = glob(&#39;*.*&#39;);
for ($i = 0; $i < count($fileList); $i++) {
    echo $fileList[$i] . &#39;<br />&#39;;
}
$fileList2 = glob(&#39;images/*&#39;);
for ($i = 0; $i < count($fileList2); $i++) {
    echo $fileList2[$i] . &#39;<br />&#39;;
}
$fileList3 = glob(&#39;*&#39;);
for ($i = 0; $i < count($fileList3); $i++) {
    echo $fileList3[$i] . &#39;<br />&#39;;
}
Nach dem Login kopieren

第一种:

glob函数的参数里面是: * . *, 意思是扫描当前目录下的文件, 不包括文件夹, 返回的是一个数组, 以下二种情况一样 .

第二种:

glob函数的参数里面是:

images /*,是指定目录扫描所有的文件,包括文件夹,也可以扫描指定的文件类型,如:images/*.jpg;注意,如果只输入:images只会返回该文件夹名称,如果只输入:images/则什么也不会返回.

第三种:

glob函数的参数里面是:*,可以扫描出当前目录下的所有文件、目录及子目录的文件.

好我们再看看opendir与readdir遍历目录,代码如下:

<?php
/**********************
一个简单的目录递归函数
第一种实现办法:用dir返回对象
***********************/
function tree($directory) {
    $mydir = dir($directory);
    echo "<ul>\n";
    while ($file = $mydir->read()) {
        if ((is_dir("$directory/$file")) AND ($file != ".") AND ($file != "..")) {
            echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n";
            tree("$directory/$file");
        } else echo "<li>$file</li>\n";
    }
    echo "</ul>\n";
    $mydir->close();
}
//开始运行
echo "<h2>目录为粉红色</h2><br>\n";
tree("./nowamagic");
/***********************
第二种实现办法:用readdir()函数
************************/
function listDir($dir) {
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if ((is_dir($dir . "/" . $file)) && $file != "." && $file != "..") {
                    echo "<b><font color=&#39;red&#39;>文件名:</font></b>", $file, "<br><hr>";
                    listDir($dir . "/" . $file . "/");
                } else {
                    if ($file != "." && $file != "..") {
                        echo $file . "<br>";
                    }
                }
            }
            closedir($dh);
        }
    }
}
//开始运行
listDir("./nowamagic");
Nach dem Login kopieren

好了大家都看到子glob与opendir与readdir遍历输入的写法了, 从代码简洁上来说glob是完胜了opendir与readdir了, 在功能实现上达到的是相同的效果呀, 所以推荐使用glob函数遍历目录吧 . 


文章地址:

转载随意^^请带上本文地址!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage