码迷,mamicode.com
首页 > Web开发 > 详细

thinkphp 框架去掉bom(当你的网站出现头部有一条空白)

时间:2018-04-16 13:03:03      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:data   cal   function   ase   执行   false   出现   closed   basedir   

当你的项目头部无缘无故出现了一条白条,这个是utf8文件编码可能是utf8-bom如果不是,文件本身编码问题的话!那木就是thinkphp自身对文件进行utf-8-bom编码,此时去掉白条的方法就是,在项目根目录,执行此段代码!ok了

<?php



if(isset($_GET[‘dir‘])){ //config the basedir

  $basedir=$_GET[‘dir‘];

}else{

  $basedir= ‘.‘;

}

$auto= 1;

checkdir($basedir);

function checkdir($basedir){

  if($dh= opendir($basedir)) {

    while(($file= readdir($dh)) !== false) {

      if($file!= ‘.‘&& $file!= ‘..‘){

        if(!is_dir($basedir."/".$file)) {

          echo"filename: $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 found,automatically removed.</font>");

    } else{

      return("<font color=red>BOM found.</font>");

    }

  }

  else return("BOM Not Found.");

}

function rewrite ($filename, $data) {

  $filenum= fopen($filename, "w");

  flock($filenum, LOCK_EX);

  fwrite($filenum, $data);

  fclose($filenum);

}


?> 

 

thinkphp 框架去掉bom(当你的网站出现头部有一条空白)

标签:data   cal   function   ase   执行   false   出现   closed   basedir   

原文地址:https://www.cnblogs.com/xxzz/p/8855148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!