PHP批量去除BOM头代码分享

5年以前  |  阅读数:314 次  |  编程语言:PHP 

    <?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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
将二进制数据转为16进制以便显示
获取IMSI
获取IMEI
Java生成UUID
PHP自定义函数获取搜索引擎来源关键字的方法
让你成为最历害的git提交人
在Zeus Web Server中安装PHP语言支持
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php+ajax+json 详解及实例代码
Yii2汉字转拼音类的实例代码
php封装的page分页类完整实例
php数组合并array_merge()函数使用注意事项
PHP设计模式之工厂模式与单例模式
PHP实现简单爬虫的方法
php实现数组中索引关联数据转换成json对象的方法
wget使用技巧