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中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 PHP
深入php之规范编程命名小结
May 15 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 PHP
PHP实现懒加载的方法
Mar 07 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
一个简单的php MVC留言本实例代码(必看篇)
Sep 22 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
php反射学习之依赖注入示例
Jun 14 PHP
PHP创建XML接口示例
Jul 04 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 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
ThinkPHP分页实例
2014/10/15 PHP
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
PHP实现通用alert函数的方法
2015/03/11 PHP
PHP反射实际应用示例
2019/04/03 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
Prototype Function对象 学习
2009/07/12 Javascript
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
vue中轮训器的使用
2019/01/27 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
python 实现登录网页的操作方法
2018/05/11 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
销售文员的岗位职责
2013/11/20 职场文书
食品行业求职人的自我评价
2014/01/19 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
老人节标语大全
2014/10/08 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
七一慰问简报
2015/07/20 职场文书
vue如何清除浏览器历史栈
2022/05/25 Vue.js