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类
Oct 09 PHP
一些PHP写的小东西
Dec 06 PHP
php目录管理函数小结
Sep 10 PHP
php中数组首字符过滤功能代码
Jul 31 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
php上传文件,创建递归目录的实例代码
Oct 18 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
Dec 24 PHP
更改localhost为其他名字的方法
Feb 10 PHP
php版本的cron定时任务执行器使用实例
Aug 19 PHP
php接口技术实例详解
Dec 07 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
Mar 04 PHP
PHP观察者模式原理与简单实现方法示例
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
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
PHP正则验证Email的方法
2015/06/15 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
js获取上传文件大小示例代码
2014/04/10 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
jQuery事件处理的特征(事件命名机制)
2016/08/23 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python用户管理系统
2018/03/13 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
Python @property使用方法解析
2019/09/17 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
The North Face北面荷兰官网:美国著名户外品牌
2019/10/16 全球购物
实习生求职自荐信
2014/02/07 职场文书
学生会招新策划书
2014/02/14 职场文书
助理政工师申报材料
2014/06/03 职场文书
素质教育标语
2014/06/27 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
sql注入教程之类型以及提交注入
2021/08/02 MySQL