检查php文件中是否含有bom的函数


Posted in PHP onMay 31, 2012
<?php 
/*检测并清除BOM*/ 
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); 
} 
} 
}//end while 
closedir($dh); 
}//end if($dh 
}//end function 
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>"); 
} 
} 3water.com 
else return ("BOM Not Found."); 
}//end function 
function rewrite($filename, $data){ 
$filenum = fopen($filename, "w"); 
flock($filenum, LOCK_EX); 
fwrite($filenum, $data); 
fclose($filenum); 
}//end function 
?>
PHP 相关文章推荐
使用Limit参数优化MySQL查询的方法
Nov 12 PHP
php 运行效率总结(提示程序速度)
Nov 26 PHP
Smarty Foreach 使用说明
Mar 23 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
解析php开发中的中文编码问题
Aug 08 PHP
PHP Global定义全局变量使用说明
Aug 15 PHP
学习php分页代码实例
Oct 24 PHP
PHP获取一年中每个星期的开始和结束日期的方法
Feb 12 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
PHP+JS三级菜单联动菜单实现方法
Feb 24 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
php注销代码(session注销)
May 31 #PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 #PHP
php分页思路以及在ZF中的使用
May 30 #PHP
php DOS攻击实现代码(附如何防范)
May 29 #PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
May 29 #PHP
PHP中将网页导出为Word文档的代码
May 25 #PHP
php在文件指定行中写入代码的方法
May 23 #PHP
You might like
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
Javascript模块模式分析
2008/05/16 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python人脸识别初探
2017/12/21 Python
Python多图片合并PDF的方法
2019/01/03 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
python openCV自制绘画板
2020/10/27 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
大学生通用个人的自我评价
2014/02/10 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
总经理助理岗位职责
2015/01/31 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python