检查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下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
php压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
浅谈php冒泡排序
Dec 30 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
Dec 02 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
PHP缩略图生成和图片水印制作
Jan 07 PHP
自制PHP框架之模型与数据库
May 07 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP实现简单登录界面
Oct 23 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中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
python使用xmlrpc实例讲解
2013/12/17 Python
Python正则表达式的使用范例详解
2014/08/08 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
如何理解Python中包的引入
2020/05/29 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
介绍Ibatis的核心类
2013/11/18 面试题
公证书标准格式
2014/04/10 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
小学生手册家长意见
2015/06/03 职场文书
Python集合的基础操作
2021/11/01 Python