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与mysqli事务使用说明 分享
Aug 17 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
PHP操作MySQL事务实例
Nov 05 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
php获取错误信息的方法
Jul 17 PHP
PHP会话处理的10个函数
Aug 11 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
thinkphp分页实现效果
Oct 13 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 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
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
Javascript与flash交互通信基础教程
2008/08/07 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
Python中super函数的用法
2017/11/17 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
python 用下标截取字符串的实例
2018/12/25 Python
学Python 3的理由和必要性
2019/11/19 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
药学专业大学生个人的自我评价
2013/11/04 职场文书
小学三年级数学教学反思
2014/01/31 职场文书
创先争优公开承诺书
2014/08/30 职场文书
2014年业务工作总结
2014/11/17 职场文书
党员示范岗材料
2014/12/19 职场文书
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript