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 相关文章推荐
全文搜索和替换
Oct 09 PHP
简单的用PHP编写的导航条程序
Oct 09 PHP
实用函数3
Nov 08 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
一个PHP缓存类代码(附详细说明)
Jun 09 PHP
遍历指定目录下的所有目录和文件的php代码
Nov 27 PHP
PHP循环语句笔记(foreach,list)
Nov 29 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
php时间戳转换的示例
Mar 31 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
php简单分页类实现方法
Feb 26 PHP
Laravel框架中自定义模板指令总结
Dec 17 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
239军机修复记
2021/03/02 无线电
php 无限分类的树类代码
2009/12/03 PHP
php实现的短网址算法分享
2014/06/20 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
本地存储localStorage用法详解
2017/07/31 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
微信小程序如何实现全局重新加载
2019/06/05 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
Python set集合类型操作总结
2014/11/07 Python
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
进一步了解Python中的XML 工具
2015/04/13 Python
python并发编程之线程实例解析
2017/12/27 Python
Python读取word文本操作详解
2018/01/22 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
python 命令行传入参数实现解析
2019/08/30 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
如何完美的建立一个python项目
2020/10/09 Python
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
求职信模板怎么做
2014/01/26 职场文书
师范类求职信
2014/06/21 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
合作意向协议书
2015/01/29 职场文书
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers