批量去除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 相关文章推荐
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
May 03 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
数组与类使用PHP的可变变量名需要的注意的问题
Jun 20 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
php计算两个日期相差天数的方法
Mar 14 PHP
php遍历树的常用方法汇总
Jun 18 PHP
Zend Framework动作助手Redirector用法实例详解
Mar 05 PHP
mac系统下为 php 添加 pcntl 扩展
Aug 28 PHP
PHP工厂模式简单实现方法示例
May 23 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 PHP
php新建文件的方法实例
Sep 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
php自定义函数截取汉字长度
2014/05/15 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
javascript prototype原型操作笔记
2009/12/07 Javascript
input的focus方法使用
2010/03/13 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
JS面向对象编程实现的Tab选项卡案例详解
2020/03/03 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
[01:01:52]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第二场 1月9日
2021/03/11 DOTA
Python实现以时间换空间的缓存替换算法
2016/02/19 Python
Python计算字符宽度的方法
2016/06/14 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
董事长助理工作职责范本
2014/07/01 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
出生公证书
2015/01/23 职场文书
志愿者个人总结
2015/03/03 职场文书
校园新闻稿范文
2015/07/18 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
python 使用tkinter与messagebox写界面和弹窗
2022/03/20 Python