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
如何过滤高亮显示非法字符
Oct 09 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
Sep 30 PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
php防止CC攻击代码 php防止网页频繁刷新
Dec 21 PHP
Symfony的安装和配置方法
Mar 17 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 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中的cookie
2006/11/26 PHP
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
利用php输出不同的心形图案
2016/04/22 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
详解Angular如何正确的操作DOM
2018/07/06 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
存储过程的优点有哪些
2012/09/27 面试题
介绍一下Linux中的链接
2016/05/28 面试题
医护人员英文求职信范文
2013/11/26 职场文书
文艺晚会主持词
2014/03/24 职场文书
地理科学专业自荐信
2014/09/01 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
飞屋环游记观后感
2015/06/08 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP