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


Posted in PHP onMarch 13, 2012

需要去除BOM,就把附件里的tool.php文件放到目标目录,然后在浏览器访问tool.php即可!

<?php 
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除 
$basedir="."; //修改此行为需要检测的目录,点表示当前目录 
$auto=1; //是否自动移除发现的BOM信息。1为是,0为否。 
//以下不用改动 
if ($dh = opendir($basedir)) { 
while (($file = readdir($dh)) !== false) { 
if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) 
echo "filename: $file ".checkBOM("$basedir/$file")." <br>"; 
} 
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); 
} 
?>

PHP批量去除PHP文件中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._<a href=http://www.joyphper.net>http://www.joyphper.net</a></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); 
} 
?>
PHP 相关文章推荐
PHP 数组基础知识小结
Aug 20 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
php解决约瑟夫环示例
Apr 09 PHP
laravel安装zend opcache加速器教程
Mar 02 PHP
PHP网络操作函数汇总
May 18 PHP
joomla数据库操作示例代码
Jan 06 PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 PHP
php操作access数据库的方法详解
Feb 22 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 04 PHP
TMDPHP 模板引擎使用教程
Mar 13 #PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 #PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 #PHP
PHPThumb PHP 图片缩略图库
Mar 11 #PHP
php中使用cookie来保存用户登录信息的实现代码
Mar 08 #PHP
PHP 代码规范小结
Mar 08 #PHP
色色整理的PHP面试题集锦
Mar 08 #PHP
You might like
在线竞拍系统的PHP实现框架(二)
2006/10/09 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
深入理解PHP内核(一)
2015/11/10 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
javascript运动详解
2015/07/06 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
Django与JS交互的示例代码
2017/08/23 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
python实现汉诺塔算法
2021/03/01 Python
Python List cmp()知识点总结
2019/02/18 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
python中下标和切片的使用方法解析
2019/08/27 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
基于Python的OCR实现示例
2020/04/03 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
劳资员岗位职责
2013/11/11 职场文书
简短大学毕业感言
2014/01/18 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
教室布置标语
2014/06/26 职场文书
期末考试复习计划
2015/01/19 职场文书
远程教育培训心得体会
2016/01/09 职场文书