检查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个人网站架设连环讲(三)
Oct 09 PHP
如何在PHP中进行身份认证
Oct 09 PHP
PHP三元运算符的结合性介绍
Jan 10 PHP
php输入流php://input使用浅析
Sep 02 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
ThinkPHP静态缓存简单配置和使用方法详解
Mar 23 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
laravel-admin select框默认选中的方法
Oct 03 PHP
PHP网页缓存技术优点及代码实例
Jul 29 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
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
PHP文件上传主要代码讲解
2013/09/30 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
详解Python 切片语法
2019/06/10 Python
python之生产者消费者模型实现详解
2019/07/27 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
四好少年事迹材料
2014/01/12 职场文书
行政主管职责范本
2014/03/07 职场文书
合伙协议书
2014/04/23 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
护士医德医风自我评价
2014/09/15 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
赞助商致辞
2015/07/30 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android