如何在php中利用glob函数对文件进行遍历

如何在php中利用glob函数对文件进行遍历?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

php glob()函数返回匹配指定模式的文件名或目录。因此我们可以使用glob函数来查找文件,也可以实现目录的遍历。

函数说明:array glob ( string $pattern [, int $flags ] )

功能:寻找与模式匹配的文件路径,返回包含匹配文件(目录)的数组(注:被检查的文件必须是服务器系统的,不能用于远程文件)

参数说明:第一个参数:匹配模式;第二个可选参数:

  1. GLOB_MARK - 在每个返回的项目中加一个斜线

  2. GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)

  3. GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式

  4. GLOB_NOESCAPE - 反斜线不转义元字符

  5. GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'

  6. GLOB_ONLYDIR - 仅返回与模式匹配的目录项  

实例一:获取指定目录下的所有文件和子目录

<?php
   $directories = glob("/tmp/*", GLOB_ONLYDIR);//获取/tmp/目录下的所有目录
   $complete = glob("/tmp/*");//获取/tmp/目录下的所有目录和文件
   $files = array_diff($directories, $complete);//获取/tmp/目录下的所有文件

   echo "Directories in /tmp/<BR>";
   foreach($directories as $val) {
     echo "$val<BR>\n";
   }
   echo "<BR>Files in /tmp/<BR>";
   foreach($files as $val) {
     echo "$val<BR>\n";
   }
?>

实例二:你还在用opendir readdir遍历文件吗,你真out了!

<?php
$files = glob("dir/*.jpg");
foreach($files as $jpg){
  echo $jpg, "\n";
}
?>

看完上述内容,你们掌握如何在php中利用glob函数对文件进行遍历的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!