php遍历目录与文件夹的多种方法详解

“PHP遍历目录与文件夹的多种方法详解”是一篇介绍如何遍历文件夹中所有文件的文章。以下是完整攻略:

PHP遍历目录与文件夹的多种方法详解”是一篇介绍如何遍历文件夹中所有文件的文章。以下是完整攻略:

一、使用scandir函数

scandir函数可以列出目录中所有文件和子目录,包括隐藏文件。

$dir = "/path/to/dir";
$files = scandir($dir);

foreach($files as $file) {
    echo $file . "\n";
}

二、使用opendir和readdir函数

opendir函数打开目录,并返回一个目录资源句柄。readdir函数读取目录中的文件,直到读到结尾位置。注意,需要使用closedir函数关闭目录资源句柄。

$dir = "/path/to/dir";
$dh = opendir($dir);

while($file = readdir($dh)) {
    echo $file . "\n";
}

closedir($dh);

三、使用RecursiveDirectoryIterator和RecursiveIteratorIterator

RecursiveDirectoryIterator和RecursiveIteratorIterator是PHP SPL库中的迭代器,可以很方便地遍历目录树。

$dir = "/path/to/dir";
$iterator = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($dir));

foreach($iterator as $file) {
    echo $file . "\n";
}

四、使用glob函数

glob函数可以查找与模式匹配的文件。

$dir = "/path/to/dir/*.*";
$files = glob($dir);

foreach($files as $file) {
    echo $file . "\n";
}

示例1:使用opendir和readdir函数

$dir = "/var/www/html/my_dir";
$dh = opendir($dir);

echo "My files:\n";
while($file = readdir($dh)) {
    if(is_file($dir . "/" . $file)) {
        echo $file . "\n";
    }
}

closedir($dh);

示例2:使用RecursiveDirectoryIterator和RecursiveIteratorIterator

$dir = "/var/www/html/my_dir";
$iterator = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($dir));

echo "My files:\n";
foreach($iterator as $file) {
    if($file->isFile()) {
        echo $file . "\n";
    }
}

以上是关于“PHP遍历目录与文件夹的多种方法”的完整攻略,希望可以帮助到你。

本文标题为:php遍历目录与文件夹的多种方法详解

基础教程推荐