您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP遍历文件夹与文件类及处理类用法实例

2024/11/19 20:13:10发布32次查看
这篇文章主要介绍了php遍历文件夹与文件类及处理类用法实例,包括了文件及文件夹的遍历以及清除utf8的bom头方法,非常实用,需要的朋友可以参考下
本文实例讲述了php遍历文件夹与文件类及处理类用法,非常具有实用价值。分享给大家供大家参考。具体方法如下:
findfile.class.php类文件用于遍历目录文件,具体代码如下:
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)){ // dirif($this->maxdepth==0 || $depthmaxdepth){ // 判断深度$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类,,具体代码如下:
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); // cleararray_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;}} } ?>
去除utf8 bom头demo遍历文件示例:
process($folder);print_r($obj->files); ?>
希望本文所述对大家php程序设计的学习有所帮助。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product