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中操作MySQL数据库的一些要注意的问题
Oct 09 PHP
Windows2003 下 MySQL 数据库每天自动备份
Dec 21 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
递归删除一个节点以及该节点下的所有节点示例
Mar 19 PHP
php生成短网址示例
May 05 PHP
php搜索文件程序分享
Oct 30 PHP
php实现生成验证码实例分享
Apr 10 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 PHP
PHP7数组的底层实现示例
Aug 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
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
浅析php工厂模式
2014/11/25 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
鼠标图片振动代码
2006/07/06 Javascript
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
jQuery实现动态添加和删除input框实例代码
2019/03/26 jQuery
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
python解析xml文件操作实例
2014/10/05 Python
python 接口_从协议到抽象基类详解
2017/08/24 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
物流管理专业求职信
2014/05/29 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
党员评议自我评价
2015/03/03 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
办公室管理规章制度
2015/08/04 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书