检查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 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
一段防盗连的PHP代码
Dec 06 PHP
PHP令牌 Token改进版
Jul 18 PHP
php长字符串定义方法
Jul 12 PHP
探讨PHP删除文件夹的三种方法
Jun 09 PHP
php中cookie的使用方法
Mar 29 PHP
ThinkPHP模板Switch标签用法示例
Jun 30 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 PHP
PHP7中I/O模型内核剖析详解
Apr 14 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
Terran建筑一览
2020/03/14 星际争霸
一个PHP的String类代码
2010/04/20 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
Python编码爬坑指南(必看)
2016/06/10 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
常用python爬虫库介绍与简要说明
2020/01/25 Python
详解Python IO编程
2020/07/24 Python
python 如何调用远程接口
2020/09/11 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
什么是接口(Interface)?
2013/02/01 面试题
分家协议书
2014/04/21 职场文书
先进党员事迹材料
2014/12/24 职场文书
第一书记观后感
2015/06/08 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
python 进阶学习之python装饰器小结
2021/09/04 Python
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle