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安装全攻略:APACHE
Oct 09 PHP
PHP 远程关机实现代码
Nov 10 PHP
PHP 数组排序方法总结 推荐收藏
Jun 30 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
Dec 19 PHP
thinkphp的dump函数无输出实例代码
Nov 15 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
Nov 22 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版本的几种方法小结
2008/03/25 PHP
php 执行系统命令的方法
2009/07/07 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
AngularJS发送异步Get/Post请求方法
2018/08/13 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
python实现简单http服务器功能
2018/09/17 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
python logging 日志的级别调整方式
2020/02/21 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
行政人员工作职责
2013/12/05 职场文书
英语专业学生的自我评价
2013/12/30 职场文书
企业申诉管理制度
2014/01/30 职场文书
企业法人授权委托书
2014/04/03 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
拓展训练激励口号
2014/06/17 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
2015年防汛工作总结
2015/05/15 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
React 高阶组件HOC用法归纳
2021/06/13 Javascript
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript