Heim > Backend-Entwicklung > PHP-Tutorial > 批量清除php文件中bom的方法

批量清除php文件中bom的方法

WBOY
Freigeben: 2016-07-25 09:05:19
Original
903 Leute haben es durchsucht
  1. //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
  2. $basedir="."; //修改此行为需要检测的目录,点表示当前目录
  3. $auto=1; //是否自动移除发现的BOM信息。1为是,0为否。
  4. //link: http://bbs.it-home.org
  5. //以下不用改动
  6. if ($dh = opendir($basedir)) {
  7. while (($file = readdir($dh)) !== false) {
  8. if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file))
  9. echo "filename: $file ".checkBOM("$basedir/$file")."
    ";
  10. }
  11. closedir($dh);
  12. }
  13. function checkBOM ($filename) {
  14. global $auto;
  15. $contents=file_get_contents($filename);
  16. $charset[1]=substr($contents, 0, 1);
  17. $charset[2]=substr($contents, 1, 1);
  18. $charset[3]=substr($contents, 2, 1);
  19. if (ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191) {
  20. if ($auto==1) {
  21. $rest=substr($contents, 3);
  22. rewrite ($filename, $rest);
  23. return ("BOM found, automatically removed.");
  24. } else {
  25. return ("BOM found.");
  26. }
  27. }else
  28. return ("BOM Not Found.");
  29. }
  30. function rewrite ($filename, $data) {
  31. $filenum=fopen($filename,"w");
  32. flock($filenum,LOCK_EX);
  33. fwrite($filenum,$data);
  34. fclose($filenum);
  35. }
  36. ?>
复制代码

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

  1. if (isset($_GET['dir'])){ //设置文件目录
  2. $basedir=$_GET['dir'];
  3. }else{
  4. $basedir = '.';
  5. }
  6. $auto = 1;
  7. checkdir($basedir);
  8. function checkdir($basedir){
  9. if ($dh = opendir($basedir)) {
  10. while (($file = readdir($dh)) !== false) {
  11. if ($file != '.' && $file != '..'){
  12. if (!is_dir($basedir."/".$file)) {
  13. echo "filename: $basedir/$file ".checkBOM("$basedir/$file")."
    ";
  14. }else{
  15. $dirname = $basedir."/".$file;
  16. checkdir($dirname);
  17. }
  18. }
  19. }
  20. closedir($dh);
  21. }
  22. }
  23. function checkBOM ($filename) {
  24. global $auto;
  25. $contents = file_get_contents($filename);
  26. $charset[1] = substr($contents, 0, 1);
  27. $charset[2] = substr($contents, 1, 1);
  28. $charset[3] = substr($contents, 2, 1);
  29. if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
  30. if ($auto == 1) {
  31. $rest = substr($contents, 3);
  32. rewrite ($filename, $rest);
  33. return ("BOM found, automatically removed._http://bbs.it-home.org");
  34. } else {
  35. return ("BOM found.");
  36. }
  37. }
  38. else return ("BOM Not Found.");
  39. }
  40. function rewrite ($filename, $data) {
  41. $filenum = fopen($filename, "w");
  42. flock($filenum, LOCK_EX);
  43. fwrite($filenum, $data);
  44. fclose($filenum);
  45. }
  46. ?>
复制代码


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage