首页 > 编程 > PHP > 正文

关于PHP 遍历文件夹及文件类及处理类 的理解

2020-03-22 17:28:04
字体:
来源:转载
供稿:网友
html' target='_blank'>public $files = array(); // 存储遍历的文件 protected $maxdepth; // 搜寻深度,0表示没有限制 /* 遍历文件及文件夹 * @param String $spath 文件夹路径 * @param int $maxdepth 搜寻深度,默认搜寻全部 public function process($spath, $maxdepth=0){ if(isset($maxdepth) is_numeric($maxdepth) $maxdepth 0){ $this- maxdepth = $maxdepth; }else{ $this- maxdepth = 0; $this- files = array(); $this- traversing($spath); // 遍历 /* 遍历文件及文件夹 * @param String $spath 文件夹路径 * @param int $depth 当前文件夹深度 private function traversing($spath, $depth=1){ if($handle = opendir($spath)){ while(($file=readdir($handle))!==false){ if($file!= . $file!= .. ){ $curfile = $spath. / .$file; if(is_dir($curfile)){ // dir if($this- maxdepth==0 || $depth $this- maxdepth){ // 判断深度 $this- traversing($curfile, $depth+1); }else{ // file $this- handle($curfile); closedir($handle); /** 处理文件方法 * @param String $file 文件路径 protected function handle($file){ array_push($this- files, $file);?

UnsetBom.class.php用于清除utf8+bom文件的bom,即头三个字节 0xEF 0xBB 0xBF,继承FindFile类

 ?php/** 遍历所有文件,清除utf8+bom 0xEF 0xBB 0xBF* Date: 2013-03-21* Author: fdipzone* Ver: 1.0class UnsetBom extends FindFile{ private $filetype = array(); // 需要处理的文件类型 // 初始化 public function __construct($filetype=array()){ if($filetype){ $this- filetype = $filetype; /** 重写FindFile handle方法 * @param String $file 文件路径 protected function handle($file){ if($this- check_ext($file) $this- check_utf8bom($file)){ // utf8+bom $this- clear_utf8bom($file); // clear array_push($this- files, $file); // save log /** 检查文件是否utf8+bom * @param String $file 文件路径 * @return boolean private function check_utf8bom($file){ $content = file_get_contents($file); return ord(substr($content,0,1))===0xEF ord(substr($content,1,1))===0xBB ord(substr($content,2,1))===0xBF; /** 清除utf8+bom * @param String $file 文件路径 private function clear_utf8bom($file){ $content = file_get_contents($file); file_put_contents($file, substr($content,3), true); // 去掉头三个字节 /** 检查文件类型 * @param String $file 文件路径 * @return boolean private function check_ext($file){ $file_ext = strtolower(array_pop(explode( . ,basename($file)))); if(in_array($file_ext, $this- filetype)){ return true; }else{ return false;? 

Demo unset utf8 bom

 ?phprequire( FindFile.class.php require( UnsetBom.class.php $folder = dirname(__FILE__);$obj = new UnsetBom(array( php , css , js // 文件类型$obj- process($folder);print_r($obj- files);? 

本文关于PHP 遍历文件夹及文件类及处理类 的理解,更多相关内容请关注php 。

相关推荐:

了解正向代理与反向代理的区别

如何使用Apache 搭建虚拟主机

如何通过sh memcached 进程启动及监控

以上就是关于PHP 遍历文件夹及文件类及处理类 的理解的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表