php遍历⽂件的几种方法

在PHP中,有五种主要的方法可以遍历文件和目录。以下是这些方法的详细说明:

使用foreach遍历目录
你可以使用foreach循环遍历目录中的所有文件。

$dir = 'directory_path';  
  
if (is_dir($dir)) {  
    $files = scandir($dir);  
    foreach ($files as $file) {  
        if (is_file($dir . '/' . $file)) {  
            echo $file . "\n";  
        }  
    }  
}
使用foreach遍历目录的递归
如果你需要遍历目录及其所有子目录中的文件,你可以使用递归。

function listFiles($dir) {  
    $files = array();  
    foreach (scandir($dir) as $file) {  
        if ($file == '.' || $file == '..') {  
            continue;  
        }  
        $path = $dir . '/' . $file;  
        if (is_dir($path)) {  
            $files = array_merge($files, listFiles($path));  
        } else {  
            $files[] = $path;  
        }  
    }  
    return $files;  
}  
  
$files = listFiles('directory_path');  
foreach ($files as $file) {  
    echo $file . "\n";  
}
使用glob函数
glob函数可以返回一个数组,包含匹配指定模式的文件路径。

$files = glob('directory_path/*');  
foreach ($files as $file) {  
    echo $file . "\n";  
}
使用scandir函数
scandir函数可以返回一个数组,包含指定目录下的所有文件和子目录。然后你可以使用foreach循环遍历这个数组。

$files = scandir('directory_path');  
foreach ($files as $file) {  
    echo $file . "\n";  
}
使用DirectoryIterator
PHP还提供了一个DirectoryIterator类,可以用来遍历目录。这个类是面向对象的,所以你需要使用面向对象的方式来使用它。


$dir = new DirectoryIterator('directory_path');  
foreach ($dir as $file) {  
    if (!$file->isDot()) { // 排除 '.' 和 '..' 目录  
        echo $file->getFilename() . "\n";  
    }  
}
 

你可能感兴趣的:(php,android,android,studio)