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 远程关机操作的代码
Dec 05 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
php中实现精确设置session过期时间的方法
Jul 17 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
Jul 22 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 PHP
php正则表达式学习笔记
Nov 13 PHP
纯PHP代码实现支付宝批量付款
Dec 24 PHP
php cookie用户登录的详解及实例代码
Jan 03 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
Mar 09 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概述.
2006/10/09 PHP
简单的PHP缓存设计实现代码
2011/09/30 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
JS实现随机数生成算法示例代码
2013/08/08 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
2017/08/07 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
python通过索引遍历列表的方法
2015/05/04 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
python实现学生信息管理系统
2020/04/05 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
党支部书记先进事迹
2014/01/17 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
入职担保书范文
2014/05/21 职场文书
英语导游词
2015/02/13 职场文书
感谢师恩主题班会
2015/08/17 职场文书
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技