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 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
自动跳转中英文页面
Oct 09 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
smarty内置函数config_load用法实例
Jan 22 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
php日期操作技巧小结
Jun 25 PHP
PHP编写简单的App接口
Aug 28 PHP
mysql desc(DESCRIBE)命令实例讲解
Sep 24 PHP
利用PHP判断文件是否为图片的方法总结
Jan 06 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 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
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
PHP目录操作实例总结
2016/09/27 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
php测试kafka项目示例
2020/02/06 PHP
浅谈javascript面向对象程序设计
2015/01/21 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
2016/11/05 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python中列表(list)操作方法汇总
2014/08/18 Python
使用PDB模式调试Python程序介绍
2015/04/05 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python中的 enum 模块源码详析
2019/01/09 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
求职简历中个人的自我评价
2013/12/25 职场文书
外贸业务员工作职责
2014/01/06 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
计算机科学与技术专业求职信
2014/09/03 职场文书
争先创优演讲稿
2014/09/15 职场文书
学校开除通知书
2015/04/25 职场文书
长江七号观后感
2015/06/11 职场文书
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL