UTF-8文件BOM信息自动检测和自动清除源码
发布时间:2020-02-17 18:41:56 作者:佚名 我要评论
BOM信息是文件开头的一串隐藏的字符,用于让某些编辑器识别这是个UTF-8编码的文件,也编辑器自动加上的这个会导致页面头部会出现一个空白行;如果是织梦的程序也会引起验证码不显示等问题
BOM信息是文件开头的一串隐藏的字符,用于让某些编辑器识别这是个UTF-8编码的文件。
特别是当你用记事本修改网页文件或者PHP文件时,会产生BOM信息,通过审查元素会在body开头处发现一个可见的控制符,导致页面头部会出现一个空白行;如果是织梦的程序也会引起验证码不显示等问题。
BOM自动检测和自动清除工具
https://pan.baidu.com/s/1tztJaZvrDpkZVz9vdHLSIg
源码
<?php /** * bom.php * * @author dedehtml * @license http://www.dedehtml.com * @lastmodify 2018-10-10 * @description 这里代码为PHP方式去除当前目录及子目录所有文件BOM信息,只要将此代码文件放到根目录下,然后浏览器运行访问就可以了 * @demo http://www.dedehtml.com/bom.php */ if (isset($_GET['dir'])) { $basedir = $_GET['dir']; } else { $basedir = '.'; } $auto = 1; checkdir($basedir); function checkdir($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); } } 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 ("<font color='red'>BOM found, automatically removed.</font>"); } else { return ("<font color='red'>BOM found.</font>"); } } else return ("BOM Not Found."); } function rewrite($filename, $data) { $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); }
使用说明
下载压缩包,解压,把bom.php文件放到网站根目录
浏览器上打开 http://域名/bom.php
打开后等待几十秒,让文件执行自动清楚文件的bom操作,有问题的文件会有红色文字提示,文件会自动处理好。
执行完后,删除bom.php防止被别人利用,织梦的程序重新生成整站
还有一种情况是不是在body下面,而是在其他代码下面的
那就要检查当前模板代码开始的地方是不是多写了其他东西,把多余的东西删除即可。
相关文章
- 这篇文章主要介绍了Fastadmin的安装与使用方法,需要的朋友可以参考下2020-08-06
安装FastAdmin时报1146 Table 'fastadmin.fa_admin' doesn't exist错误
有部分小伙伴在安装FastAdmin时报以下错误,SQLSTATE[42S02]: Base table or view not found: 1146 Table 'fastadmin.fa_admin' doesn't exist2020-08-05- BOM信息是文件开头的一串隐藏的字符,用于让某些编辑器识别这是个UTF-8编码的文件,也编辑器自动加上的这个会导致页面头部会出现一个空白行;如果是织梦的程序也会引起验证2020-02-17
- 在本篇文章里小编给大家整理的是关于苹果cms采集插件安装的步骤和方法,有需要的朋友们可以学习下。2019-12-05
- 在本篇文章里小编给大家整理的是关于苹果cms添加播放器的方法步骤,对此有需要的朋友们可以学习下。2019-12-05
- 在本篇文章里小编给大家分享的是关于苹果cms更换logo的方法和步骤,有需要的朋友们可以学习参考下。2019-12-05
- 在本篇文章里小编给大家整理的是关于海洋cms电影源码安装步骤方法以及相关知识点,有兴趣的朋友们学习下。2019-12-05
- 在本篇文章里小编给大家整理的是关于苹果CMS自适应手模板设置方法,有需要的朋友们参考学习下。2019-12-05
- 在本篇文章里小编给大家整理的是关于苹果海洋CMS自定义采集助手设置方法,有需要的朋友们学习下。2019-12-05
- 这篇文章主要为大家介绍了苹果cms添加幻灯片的操作方法,步骤很简单,有需要的朋友们跟着操作下。2019-12-02
最新评论