批量去除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扩展函数
Oct 09 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
PHP在字符断点处截断文字的实现代码
Apr 21 PHP
基于php缓存的详解
May 15 PHP
php自定义的格式化时间示例代码
Dec 05 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
PHP实现的增强性mhash函数
May 27 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
php发送http请求的常用方法分析
Nov 08 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 PHP
PHP笛卡尔积实现原理及代码实例
Dec 09 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与XML联手进行网站编程代码实例
2008/07/10 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
ezSQL PHP数据库操作类库
2010/05/16 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
两年的个人工作自我评价
2014/01/10 职场文书
什么是就业协议书
2014/04/17 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
学校欢迎标语
2014/06/18 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
行政文员岗位职责
2015/02/04 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS