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中路径问题的解决方案
Oct 09 PHP
表单复选框向PHP传输数据的代码
Nov 13 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
codeigniter框架批量插入数据
Jan 09 PHP
PHP程序员基本要求和必备技能
May 09 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
php简单截取字符串代码示例
Oct 19 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 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
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
浅析关于PHP位运算的简单权限设计
2013/06/30 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
jquery中对表单的基本操作代码
2010/07/29 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
打开电脑上的QQ的python代码
2013/02/10 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
对Python中的@classmethod用法详解
2018/04/21 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
python如何保存文本文件
2020/06/07 Python
详解python内置模块urllib
2020/09/09 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
小学教师学期末自我评价
2013/09/25 职场文书
社会实践的活动方案
2014/08/22 职场文书
小学校长个人总结
2015/03/03 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle