批量去除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中用正则表达式清除字符串的空白
Jan 17 PHP
PHP编程函数安全篇
Jan 08 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
php读取excel文件示例分享(更新修改excel)
Feb 27 PHP
php中session过期时间设置及session回收机制介绍
May 05 PHP
php实例分享之二维数组排序
May 15 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
Yii框架登录流程分析
Dec 03 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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
我的论坛源代码(二)
2006/10/09 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
php源码的使用方法讲解
2019/09/26 PHP
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python程序运行原理图文解析
2018/02/10 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
学校门卫岗位职责
2014/03/16 职场文书
社区文艺活动方案
2014/08/19 职场文书
2015年新学期寄语
2015/02/26 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书