小程序代理方法,东莞seo培训,wordpress安装和使用方法,优化大师官方下载介绍几个php遍历目录的方法#xff0c;可以遍历目录及目录中的文件#xff0c;供大家参考遍历目录或遍历目录下指定类型的文件#xff0c;这是每一个童鞋在写程序的时候难免会用到的。PHP本身也提供了很多灰常有用的函数#xff0c;正确地使用它们#xff0c;不会有错滴。…介绍几个php遍历目录的方法可以遍历目录及目录中的文件供大家参考遍历目录或遍历目录下指定类型的文件这是每一个童鞋在写程序的时候难免会用到的。PHP本身也提供了很多灰常有用的函数正确地使用它们不会有错滴。本函数可以列出指定目录下所有的文件(包括子目录下的)代码如下:function getfiles($path){foreach(scandir($path) as $afile){if($afile.||$afile..)continue;if(is_dir($path./.$afile)){getfiles($path./.$afile);} else {echo $path./.$afile.;}}} //简单的demo,列出当前目录下所有的文件getfiles(DIR);scandir() 是返回指定目录下所有的文件和目录组成的数组在PHP中还提供了一个灰常强大的函数glob()glob()有2个参数至于第2个参数是可选的稍后再讲。 直接来看用glob()怎么遍历目录的。可以看出glob()返回的内容中已经过滤掉了.和..其中*表示遍历目录下所有文件。相应的如果改为*.txt则会遍历目录下所的txt文件。是不是很方便呢它的方便之处可不止这一点据元芳说这里面还藏着一个天大的秘密是什么呢以后再说有兴趣的话可以给我留言交流。代码如下:function getfiles($path){foreach(glob($path) as $afile){if(is_dir($afile)){ getfiles($afile./*); } else { echo $afile.; }}} //简单的demo,列出当前目录下所有的文件getfiles(DIR);0既然说用 *.txt就会遍历目录下所的txt文件那如果我想让它同时遍历某几种格式的文件呢怎么办肯定有童鞋想到用数组了然后很快的写出来替换进去{*.txt,*.jpg,*.zip,...}当然也很快地发现程序返回false什么都得不到。不要失望这涉及到了刚才所说的第2个可选参数这个参数是用来改变glob的行为的具体都有些什么可以查阅PHP手册这里不多讲只说一个GLOB_BRACE这是用来扩充 {a,b,c...} 来匹配 ab 或 c...的。用法如下foreach(glob($path./{*.txt,*.jpg,*.zip,...}, GLOB_BRACE) as $fileName){...}至于完整的遍历目录下所有的指定文件类型函数我们可以看下面实例遍历文件夹及子文件夹所有文件代码如下:function traverse($path .) {$current_dir opendir($path); //opendir()返回一个目录句柄,失败返回falsewhile(($file readdir($current_dir)) ! false) { //readdir()返回打开目录句柄中的一个条目$sub_dir $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径if($file . || $file ..) {continue;} else if(is_dir($sub_dir)) { //如果是目录,进行递归echo Directory . $file . :;traverse($sub_dir);} else { //如果是文件,直接输出echo File in Directory . $path . : . $file . ;}}}traverse(xxtt);?一些常用的实例代码如下:?php $dirE:/video; //这里输入其它路径//PHP遍历文件夹下所有文件$handleopendir($dir..);echo 文件:;while (false ! ($file readdir($handle))){if ($file ! . $file ! ..) {echo $file; //输出文件名}}closedir($handle);?用了这段代码遍历所有文件帮我把所有文件名存为一个数组。代码如下:?php $sexplode(/n,trim(dir/b e://video));print_r($s);?$dirE:/video; //这里输入其它路径//PHP遍历文件夹下所有文件$handleopendir($dir..);echo 文件:;while (false ! ($file readdir($handle))){if ($file ! . $file ! ..) {$file$file.,; //输出文件名$fileexplode(,,$file);}}print_r($file);//输出的就是数组了closedir($handle);?$dir.; //这里输入其它路径//PHP遍历文件夹下所有文件$handleopendir($dir..);echo 文件:;//定义用于存储文件名的数组$array_file array();while (false ! ($file readdir($handle))){if ($file ! . $file ! ..) {$array_file[] $file; //输出文件名}}closedir($handle);print_r();print_r($array_file);print_r();?