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 FPDF类库应用实现代码
Mar 20 PHP
php简单开启gzip压缩方法(zlib.output_compression)
Apr 13 PHP
PHP在线生成二维码代码(google api)
Jun 03 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
php中curl使用指南
Feb 05 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
PHP面向对象程序设计组合模式与装饰模式详解
Dec 02 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
Laravel路由研究之domain解决多域名问题的方法示例
Apr 04 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中正确的使用json
2013/08/06 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
Python中的浮点数原理与运算分析
2017/10/12 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
打印机墨盒:123Inkjets
2017/02/16 全球购物
VC++笔试题
2014/10/13 面试题
普通大学毕业生自荐信
2013/11/04 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
大学班长的职责
2014/01/27 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
三八妇女节标语
2014/10/09 职场文书
实习生矿工检讨书
2014/10/13 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
php去除数组中为0的元素的实例分析
2021/11/17 PHP
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android