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 相关文章推荐
rephactor 优秀的PHP的重构工具
Jun 09 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
PHP中的正则表达式函数介绍
Feb 27 PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 PHP
ThinkPHP模板中数组循环实例
Oct 30 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
ThinkPHP静态缓存简单配置和使用方法详解
Mar 23 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
Docker配置PHP开发环境教程
Dec 21 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
Nov 24 PHP
PHP+ajax实现二级联动菜单功能示例
Aug 10 PHP
PHP预定义接口――Iterator用法示例
Jun 05 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 远程关机操作的代码
2008/12/05 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
JCalendar 日历控件 v1.0 beta[兼容IE&amp;Firefox] 有文档和例子
2007/05/30 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
python抓取最新博客内容并生成Rss
2015/05/17 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
使用Python生成XML的方法实例
2017/03/21 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
在双python下设置python3为默认的方法
2018/10/31 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
python 进程池pool使用详解
2020/10/15 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
syb养殖创业计划书
2014/01/09 职场文书
房地产营销策划方案
2014/02/08 职场文书
新闻编辑求职信
2014/04/09 职场文书
优秀员工演讲稿
2014/05/19 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书