PHP使用glob方法遍历文件夹下所有文件
什么是glob方法
glob() 函数返回一个包含匹配指定模式的文件名或目录名的数组,支持通配符。该函数可以用来查找文件或文件夹。glob() 函数可以接受两个参数,第一个参数是包含通配符的字符串,第二个参数是用于修改搜索的行为的标志。下面是 glob() 函数的语法:
array glob (string $pattern [, int $flags = 0 ])
其中,$pattern 是要搜索的文件名或目录名,支持通配符,如 *.txt ,?.jpg 等等。$flags 是用于修改搜索的行为的标志,例如 GLOB_BRACE (可以对一个模式设置多个通配符)等等。
glob() 函数调用成功时,返回一个包含所有匹配文件或目录的数组。如果没有找到匹配文件或目录,则返回 False 。
使用glob方法遍历文件夹下所有文件的方法
使用 glob() 函数可以轻松地遍历文件夹下所有的文件,以下是其中一个例子:
function scanDirectory($dir){
$files = glob($dir . '/*');
foreach($files as $file){
if(is_file($file)){
//处理文件
echo $file . "<br />";
}else{
//处理目录
scanDirectory($file);
}
}
}
//调用函数
scanDirectory("/home/wwwroot/");
在这个例子中,使用 glob() 函数遍历指定目录下的所有文件和目录。如果文件是一个文件( is_file() 函数用于判断是否是文件),则直接处理文件(可以是打印文件名等操作)。如果文件是一个目录,则递归调用 scanDirectory() 函数,处理目录中的文件和目录。
glob方法遍历文件夹下所有文件实例
下面是一个实际的例子,使用 glob() 函数遍历指定目录下所有的文件,并对文件进行一些操作。
$dir = "mydir/";
$files = glob($dir . "*.*");
foreach($files as $file){
$filename = pathinfo($file, PATHINFO_FILENAME);
$extension = pathinfo($file, PATHINFO_EXTENSION);
echo "文件名:" . $filename . "<br />";
echo "扩展名:" . $extension . "<br />";
}
在这个例子中,使用 glob() 函数列出 mydir/ 目录下所有的文件。然后使用 pathinfo() 函数获取文件名和扩展名,输出到屏幕上。由于这个例子只是演示 glob() 函数的用法,因此输出就比较简单了。
使用glob方法遍历指定类型的文件
如果你只想遍历特定类型的文件,也就是只想列出 .jpg 或 .txt 文件,可以在第一个参数中使用通配符来实现。例如:
$dir = "mydir/";
$files = glob($dir . "*.jpg");
foreach($files as $file){
echo $file . "<br />";
}
在这个例子中,使用 glob() 函数列出 mydir/ 目录下所有的 .jpg 文件,然后输出到屏幕上。
总结
在 PHP 中,使用 glob() 函数可以轻松地遍历文件夹下所有的文件,并对其进行一些操作。在实际开发中,它往往用于批量处理文件或目录,提高程序的效率。