ThinkPHP开发

ThinkPHP3.2去除因为utf-8-bom编码影响的头部空

2017-09-01  本文已影响23人  老牛圣斗士

网站项目头部无缘无故出现了空白行,这个是utf8文件编码可能是utf8-bom。如果不是,文件本身编码问题的话!那就是thinkphp自身对文件进行utf-8-bom编码,此时去掉空白行的方法就是,在项目根目录,执行Bom.php代码 

1、这个文件放在网站根目录

2、直接使用域名/Bom.php执行即可

3、Bom.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")."

";        }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("BOM found,automatically removed.");    } else{      return("BOM found.");    }  }  else return("BOM Not Found.");}function rewrite ($filename, $data) {  $filenum= fopen($filename, "w");  flock($filenum, LOCK_EX);  fwrite($filenum, $data);  fclose($filenum);}

上一篇下一篇

猜你喜欢

热点阅读