A-A+

PHP批量去除BOM头代码分享

2021年06月05日 我爱编程 暂无评论

这篇文章主要介绍了PHP批量去除BOM头代码分享,本文直接给出实现代码,代码比较简单,容易看懂,需要的朋友可以参考下。

  1. <?php
  2. /**
  3. * 去除bom头信息
  4. */
  5. header("Content-Type:text/html; charset=utf-8");
  6. $auto = 1;
  7. checkdir("D:\wamp\www\sales");
  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 "文件名称: $basedir/$file ".checkBOM("$basedir/$file")." <br>";
  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 ("<font color=red>发现BOM并且已自动删除</font>");
  34.  } else {
  35.   return ("<font color=red>发现BOM</font>");
  36.  }
  37. }
  38. else return ("没有发现BOM");
  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. ?>

给我留言

Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录