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 VS ASP
Oct 09 PHP
php 短链接算法收集与分析
Dec 30 PHP
浅析iis7.5安装配置php环境
May 10 PHP
php函数连续调用实例分析
Jul 30 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
PHP实现简易blog的制作
Oct 24 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
PHP 模拟登陆功能实例详解
Sep 10 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
PHP中mysqli_get_server_version()的实例用法
Feb 03 PHP
tp5.1 框架查询表达式用法详解
May 25 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
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
php如何获取Http请求
2020/04/30 PHP
详解php反序列化
2020/06/10 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
详谈javascript异步编程
2016/02/21 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
了解前端理论:rscss和rsjs
2019/05/23 Javascript
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
Python的时间模块datetime详解
2017/04/17 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
Python程序运行原理图文解析
2018/02/10 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
python绘制中国大陆人口热力图
2018/11/07 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
Java程序员常见面试题
2015/07/16 面试题
巾帼建功标兵事迹材料
2014/05/11 职场文书
六年级学生评语大全
2014/12/26 职场文书
电影圆明园观后感
2015/06/03 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers