检查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 相关文章推荐
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
Jun 11 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
配置php网页显示各种语法错误
Sep 23 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 PHP
PHP图片处理之图片背景、画布操作
Nov 19 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
PHP常用的三种设计模式汇总
Aug 28 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
php中数组最简单的使用方法
Dec 27 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 快速生成 Flash 动画的方法
2007/03/06 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
jquery 插件学习(五)
2012/08/06 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
Python简单计算文件夹大小的方法
2015/07/14 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
印度购物网站:TATA CLiQ
2017/11/23 全球购物
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
Pandora德国官网:购买潘多拉手链、戒指、项链和耳环
2020/02/20 全球购物
教师个人的自我评价分享
2014/01/02 职场文书
环保倡议书怎么写
2014/05/16 职场文书
元旦趣味活动方案
2014/08/22 职场文书
怎么写工作检讨书
2014/11/16 职场文书
文明单位汇报材料
2014/12/24 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
雷锋之歌观后感
2015/06/10 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL