检查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 相关文章推荐
应用开发中涉及到的css和php笔记分享
Aug 02 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Oct 29 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
php生成高清缩略图实例详解
Dec 07 PHP
php生成图片验证码的方法
Apr 15 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 PHP
使用Zttp简化Guzzle 调用
Jul 02 PHP
PHP+MySQL实现模糊查询员工信息功能示例
Jun 01 PHP
PHP使用递归按层级查找数据的方法
Nov 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
基于mysql的论坛(7)
2006/10/09 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
php下载excel无法打开的解决方法
2013/12/24 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python查找第k小元素代码分享
2013/12/18 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
python语言使用技巧分享
2016/05/31 Python
Python中关于Sequence切片的下标问题详解
2017/06/15 Python
Python实现快速计算词频功能示例
2018/06/25 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
Python3 批量扫描端口的例子
2019/07/25 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
荷兰超市:DEEN
2018/03/14 全球购物
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
业务部经理岗位职责
2014/01/04 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
经营场所证明范本
2015/06/19 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
Go语言测试库testify使用学习
2022/07/23 Golang