检查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 相关文章推荐
PHP JSON 数据解析代码
May 26 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
Nov 07 PHP
php发送post请求的三种方法
Feb 11 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
Feb 27 PHP
CI映射(加载)数据到view层的方法
Mar 28 PHP
PHP的全局错误处理详解
Apr 25 PHP
深入理解PHP原理之执行周期分析
Jun 01 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
PHP反射基础知识回顾
Sep 10 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中用数组的方法设置cookies
2011/04/21 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
Sea.JS知识总结
2016/05/05 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
Vue表单输入绑定的示例代码
2018/11/01 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
python对常见数据类型的遍历解析
2019/08/27 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
python数据类型强制转换实例详解
2020/06/22 Python
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
我的中国梦演讲稿600字
2014/08/19 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
Python 如何安装Selenium
2021/05/06 Python