Heim >Backend-Entwicklung >PHP-Tutorial >php bom去除工具,php批量去除bom的代码
php bom去除工具,php批量去除bom的代码
php批量去除文件bom代码的功能,支持文件夹批量去除。具体php文件代码如下:
<span style="font-size: 14px;"><?php</span><br />header('content-Type: text/html; charset=utf-8');<br />$auto=1;/*设置为1标示检测BOM并去除,设置为0标示只进行BOM检测,不去除*/<br />$basedir='.';<br />$loop=true;//www.phpernote.com<br />echo '当前查找的目录为:'.$basedir.'当前的设置是:';<br />echo '(1)',$loop?'检查当前目录以及当前目录的子目录':'只针对当前目录进行检测';<br />echo '(2)',$auto?'检测文件BOM同时去除检测到BOM文件的BOM<br />':'只检测文件BOM不执行去除BOM操作<br />';<br /><br />checkdir($basedir,$loop);<br />function checkdir($basedir='',$loop=true){<br /> $basedir=empty($basedir)?'.':$basedir;<br /> if($dh=opendir($basedir)){<br /> while (($file=readdir($dh))!==false){<br /> if($file!='.'&&$file!='..'){<br /> if(!is_dir($basedir.'/'.$file)){<br /> echo '文件: '.$basedir.'/'.$file .checkBOM($basedir.'/'.$file).' <br>';<br /> }else{<br /> if(!$loop) continue;<br /> $dirname=$basedir.'/'.$file;<br /> checkdir($dirname);<br /> }<br /> }<br /> }<br /> closedir($dh);<br /> }<br />}<br />function checkBOM($filename){<br /> global $auto;<br /> $contents=file_get_contents($filename);<br /> $charset[1]=substr($contents,0,1);<br /> $charset[2]=substr($contents,1,1);<br /> $charset[3]=substr($contents,2,1);<br /> if(ord($charset[1])==239&&ord($charset[2])==187&&ord($charset[3])==191){<br /> if($auto==1){<br /> $rest=substr($contents,3);<br /> rewrite($filename,$rest);<br /> return (' <font color=red>找到BOM并已自动去除</font>');<br /> }else{<br /> return (' <font color=red>找到BOM</font>');<br /> }<br /> }else{<br /> return (' 没有找到BOM');<br /> }<br />}<br />function rewrite($filename,$data){<br /> $filenum=fopen($filename,'w');<br /> flock($filenum,LOCK_EX);<br /> fwrite($filenum,$data);<br /> fclose($filenum);<br /><p>}<span style="font-size: 14px;">
将以上代码保存为后缀为php的文件放到需要去除bom的文件目录里面,然后运行该php文件,将会对该目录以及该目录所有的子目录下的文件进行bom检查并去除bom,运行结果页面如下: