千家信息网

php bom如何去掉

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要为大家展示了"php bom如何去掉",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php bom如何去掉"这篇文章吧。去掉php bom的方法
千家信息网最后更新 2025年11月07日php bom如何去掉

这篇文章主要为大家展示了"php bom如何去掉",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php bom如何去掉"这篇文章吧。

去掉php bom的方法:1、找到PHP根目录;2、将"function checkBOM($filename){...}"等代码放到根目录下,并通过浏览器运行访问即可。

本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

PHP去除BOM简单的方法

/*  +-------------------------------------------------------------------------------------------  + Title        : 去掉BOM头方法  + Author       : hello_sgw  + Version      : V1.0.0.1  + Initial-Time : 2017-08-12 15:18 + Last-time    : 2017-08-12 16:01 + Desc         :  +------------------------------------------------------------------------------------------- */

自己在调用接口时候,因为用到了对方提供的封装方法,在输出一组数据时候一直显示错误,最后想到可能对方给的方法里面含有编码问题(具有BOM头),所以上网搜索到一个检测BOM的方法并且可以去除重新生成新文件,运用之后就能正常显示数据了。

什么是BOM头?

BOM --Byte Order Mark,中文名译作"字节顺序标记",在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,

现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。

解决方法:

# 这里代码为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 found, automatically removed.");    } else {      return ("BOM found.");    }  } else    return ("BOM Not Found.");} function rewrite($filename, $data){  $filenum = fopen($filename, "w");  flock($filenum, LOCK_EX);  fwrite($filenum, $data);  fclose($filenum);}

以上是"php bom如何去掉"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0