zl程序教程

您现在的位置是:首页 >  后端

当前栏目

批量去除PHP文件中bom的PHP代码

2023-06-13 09:14:33 时间
需要去除BOM,就把附件里的tool.php文件放到目标目录,然后在浏览器访问tool.php即可!
复制代码代码如下:

<?php
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
$basedir=".";//修改此行为需要检测的目录,点表示当前目录
$auto=1;//是否自动移除发现的BOM信息。1为是,0为否。
//以下不用改动
if($dh=opendir($basedir)){
while(($file=readdir($dh))!==false){
if($file!="."&&$file!=".."&&!is_dir($basedir."/".$file))
echo"filename:$file".checkBOM("$basedir/$file")."<br>";
}
closedir($dh);
}
functioncheckBOM($filename){
global$auto;
$contents=file_get_contents($filename);
$charset[1]=substr($contents,0,1);
$charset[2]=substr($contents,1,1);
$charset[3]=substr($contents,2,1);
if(ord($charset[1])==239&&ord($charset[2])==187&&ord($charset[3])==191){
if($auto==1){
$rest=substr($contents,3);
rewrite($filename,$rest);
return("<fontcolor=red>BOMfound,automaticallyremoved.</font>");
}else{
return("<fontcolor=red>BOMfound.</font>");
}
}else
return("BOMNotFound.");
}
functionrewrite($filename,$data){
$filenum=fopen($filename,"w");
flock($filenum,LOCK_EX);
fwrite($filenum,$data);
fclose($filenum);
}
?>

PHP批量去除PHP文件中bom的代码
复制代码代码如下:

<?php
if(isset($_GET["dir"])){//设置文件目录
$basedir=$_GET["dir"];
}else{
$basedir=".";
}
$auto=1;
checkdir($basedir);
functioncheckdir($basedir){
if($dh=opendir($basedir)){
while(($file=readdir($dh))!==false){
if($file!="."&&$file!=".."){
if(!is_dir($basedir."/".$file)){
echo"filename:$basedir/$file".checkBOM("$basedir/$file")."<br>";
}else{
$dirname=$basedir."/".$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
functioncheckBOM($filename){
global$auto;
$contents=file_get_contents($filename);
$charset[1]=substr($contents,0,1);
$charset[2]=substr($contents,1,1);
$charset[3]=substr($contents,2,1);
if(ord($charset[1])==239&&ord($charset[2])==187&&ord($charset[3])==191){
if($auto==1){
$rest=substr($contents,3);
rewrite($filename,$rest);
return("<fontcolor=red>BOMfound,automaticallyremoved._<ahref=http://www.joyphper.net>http://www.joyphper.net</a></font>");
}else{
return("<fontcolor=red>BOMfound.</font>");
}
}
elsereturn("BOMNotFound.");
}
functionrewrite($filename,$data){
$filenum=fopen($filename,"w");
flock($filenum,LOCK_EX);
fwrite($filenum,$data);
fclose($filenum);
}
?>