PHP批量去除BOM头代码分享


Posted in PHP onJune 26, 2015
<?php 
/**
* 去除bom头信息
*/
header("Content-Type:text/html; charset=utf-8"); 

$auto = 1; 
checkdir("D:\wamp\www\sales"); 
function checkdir($basedir){ 
if ($dh = opendir($basedir)) { 
 while (($file = readdir($dh)) !== false) { 
  if ($file != '.' && $file != '..'){ 
  if (!is_dir($basedir."/".$file)) { 
   echo "文件名称: $basedir/$file ".checkBOM("$basedir/$file")." <br>"; 
  }else{ 
   $dirname = $basedir."/".$file; 
   checkdir($dirname); 
  } 
  } 
 } 
closedir($dh); 
} 
} 
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并且已自动删除</font>"); 
 } else { 
  return ("<font color=red>发现BOM</font>"); 
 } 
} 
else return ("没有发现BOM"); 
} 
function rewrite ($filename, $data) { 
$filenum = fopen($filename, "w"); 
flock($filenum, LOCK_EX); 
fwrite($filenum, $data); 
fclose($filenum); 
} 
?>
PHP 相关文章推荐
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 PHP
win7下memCache的安装过程(具体操作步骤)
Jun 28 PHP
php strnatcmp()函数的用法总结
Nov 27 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
PHP数学运算函数大汇总(经典值得收藏)
Apr 01 PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
PHP实现的策略模式简单示例
Aug 25 PHP
phpStudy 2016 使用教程详解(支持PHP7)
Oct 18 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 PHP
PHP多态代码实例
Jun 26 #PHP
PHP微信开发之二维码生成类
Jun 26 #PHP
Thinkphp关闭缓存的方法
Jun 26 #PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 #PHP
php header函数的常用http头设置
Jun 25 #PHP
PHP里的单例类写法实例
Jun 25 #PHP
PHP合并数组+号和array_merge的区别
Jun 25 #PHP
You might like
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php Calender(日历)代码分享
2014/01/03 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
保安的辞职报告怎么写
2014/01/20 职场文书
银行委托书范本
2014/04/04 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
活动总结范文
2014/08/30 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
入党现实表现材料
2014/12/23 职场文书
给上级领导的感谢信
2015/01/22 职场文书
2015年财务人员工作总结
2015/04/10 职场文书
红色电影观后感
2015/06/18 职场文书
公司开业主持词
2015/07/02 职场文书