检查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 相关文章推荐
截获网站title标签之家内容的例子
Oct 09 PHP
PHP 字符串操作入门教程
Dec 06 PHP
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
PHP 与 UTF-8 的最佳实践详细介绍
Jan 04 PHP
实现PHP中session存储及删除变量
Oct 15 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 获得汉字拼音首字母的函数
2009/08/01 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
php生成HTML文件的类方法
2019/10/11 PHP
List Installed Software Features
2007/06/11 Javascript
javascript Select标记中options操作方法集合
2008/10/22 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
2014/12/29 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
python实现的简单窗口倒计时界面实例
2015/05/05 Python
Python实现二分查找算法实例
2015/05/26 Python
Python中使用asyncio 封装文件读写
2016/09/11 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
浅谈python中真正关闭socket的方法
2018/12/18 Python
python中的句柄操作的方法示例
2019/06/20 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
python 内置函数汇总详解
2019/09/16 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
美国正宗设计师眼镜在线零售商:EYEZZ
2019/03/23 全球购物
幼儿园新年寄语
2014/04/03 职场文书
党校学习个人总结
2015/02/15 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang