UTF-8网站将文件自动转成UTF-8无BOM格式的程序

前些天的那篇《wordpress wp-login.php 368和380行错误解决》文章中提到了UTF-8网站程序因为保存操作错误而导致的错误,其实不止WP,其他网站程序一样存在,尤其新手同学不知道UTF-8格式应该如何保存(最后没办法我只好让他开远程我帮他操作的),或者干脆不会用软件,用记事本修改了多个文件,多到自己都记不清有哪些了,但返工量又很大(接近全站二次开发的程度)。

针对这些情况,现在提供一个小程序,自动进行全站文件的UTF-8无BOM格式判断修改。

在网上搜到的代码,原作者不详,如果原作者看到此篇文章,请联系我,必定更改做出作者标注

将下面这段代码保存成一个php文件,放在网站根目录下执行,自动进行BOM格式转换

";
    }else{
     $dirname = $basedir."/".$file;
     checkdir($dirname);
    }
   }
  }
closedir($dh);
}
}
function checkBOM ($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 ("BOM_removed");
  } else {
   return ("BOM_dead");
  }
}
else return ("_PASS");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>

《UTF-8网站将文件自动转成UTF-8无BOM格式的程序》上有1条评论

评论已关闭。