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教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答