检查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+apache+php Linux安装指南
Oct 09 PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 PHP
php动态生成函数示例
Mar 21 PHP
PHP扩展开发入门教程
Feb 26 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
PHP 搜索查询功能实现
Nov 29 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
PHP从数组中删除元素的四种方法实例
May 12 PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
Jun 03 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 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服务器实现多session并发运行
2006/10/09 PHP
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
php session和cookie使用说明
2010/04/07 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
django使用图片延时加载引起后台404错误
2017/04/18 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
python中update的基本使用方法详解
2019/07/17 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
服务之星获奖感言
2014/01/21 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
水浒传读书笔记
2015/06/25 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
Python实现视频中添加音频工具详解
2021/12/06 Python
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技