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 相关文章推荐
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 PHP
php 不同编码下的字符串长度区分
Sep 26 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
May 28 PHP
php+redis实现消息队列功能示例
Sep 19 PHP
php实现推荐功能的简单实例
Sep 29 PHP
php 使用 __call实现重载功能示例
Nov 18 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
Nov 10 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
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
javascript数组拍平方法总结
2018/01/20 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
Python中的变量和作用域详解
2016/07/13 Python
详解Python中的文件操作
2016/08/28 Python
详解python进行mp3格式判断
2016/12/23 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
Python 结巴分词实现关键词抽取分析
2017/10/21 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
python的依赖管理的实现
2019/05/14 Python
python中update的基本使用方法详解
2019/07/17 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
会计学专业学生的求职信范文
2014/01/27 职场文书
小学生家长评语大全
2014/02/10 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
小学生运动会报道稿
2014/09/12 职场文书
python文件名批量重命名脚本实例代码
2021/04/22 Python