关闭

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

标签: thinkphp白条bom
3864人阅读 评论(0) 收藏 举报
分类:

当你的项目头部无缘无故出现了一条白条,这个是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);


}


?> 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:834780次
    • 积分:10052
    • 等级:
    • 排名:第1762名
    • 原创:287篇
    • 转载:77篇
    • 译文:0篇
    • 评论:107条
    加入群(交流)
    PHP互动交流群: 410028331 也可点击 加入 进行加群
    文章分类
    最新评论