PHP批量去除BOM头代码分享

 更新时间:2015年06月26日 11:03:23   投稿:junjie  
这篇文章主要介绍了PHP批量去除BOM头代码分享,本文直接给出实现代码,代码比较简单,容易看懂,需要的朋友可以参考下
<?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抓取蜘蛛爬虫痕迹的示例代码

    这篇文章给大家分享了如何利用php抓取蜘蛛爬虫痕迹的方法,文中给出了示例代码,方便大家学习和参考,有需要的朋友们可以参考借鉴。
    2016-09-09
  • CodeIgniter配置之routes.php用法实例分析

    CodeIgniter配置之routes.php用法实例分析

    这篇文章主要介绍了CodeIgniter配置之routes.php用法,结合实例形式分析了routes.php中常用配置参数的含义及具体使用技巧,需要的朋友可以参考下
    2016-01-01
  • php实现评论回复删除功能

    php实现评论回复删除功能

    这篇文章主要为大家详细介绍了php实现评论回复删除功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Symfony2开发之控制器用法实例分析

    Symfony2开发之控制器用法实例分析

    这篇文章主要介绍了Symfony2开发之控制器用法,结合实例形式分析了Symfony2控制器的简单使用技巧,需要的朋友可以参考下
    2016-02-02
  • 四种php中webservice实现的简单架构方法及实例

    四种php中webservice实现的简单架构方法及实例

    这篇文章主要介绍了四种php中webservice实现的简单架构方法及实例,需要的朋友可以参考下
    2015-02-02
  • 如何使用php生成zip压缩包

    如何使用php生成zip压缩包

    这篇文章主要介绍了如何使用php生成zip压缩包,对压缩感兴趣的同学,可以实验一下
    2021-04-04
  • thinkphp中空模板与空模块的用法实例

    thinkphp中空模板与空模块的用法实例

    这篇文章主要介绍了thinkphp中空模板与空模块的用法,以实例形式演示了空模板与空模块具体实现方法,一般空模块多用于系统找不到指定模块的情况,如定位错误页面与URL优化等情况,具有一定的实用价值,需要的朋友可以参考下
    2014-11-11
  • PHP增删改查项目的实战详解

    PHP增删改查项目的实战详解

    这篇文章主要为大家详细介绍了PHP增删改查项目,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 微信公众号实现扫码获取微信用户信息(网页授权)

    微信公众号实现扫码获取微信用户信息(网页授权)

    刚开始接触微信的时候一头雾水,领导想要一个扫码获取微信用户信息的功能,接下来通过本文给大家分享微信公众号实现扫码获取微信用户信息(网页授权),需要的朋友可以参考下
    2019-04-04
  • 让CodeIgniter数据库缓存自动过期的处理的方法

    让CodeIgniter数据库缓存自动过期的处理的方法

    按官方的说法,缓存设置后永不过期,除非你调用方法主动删除。这篇文章主要介绍了CodeIgniter数据库缓存自动过期的处理,需要的朋友可以参考下
    2014-06-06

最新评论