去掉utf8 bom

来源:互联网 发布:知乎 it培训 编辑:程序博客网 时间:2024/04/29 02:58

<?php   

if ( isset($_GET['dir'] )){

//设置文件目录   

$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 ("<fontcolor=red>BOMfound.</font>");  

}   

}else{

return ("BOM Not Found.");  

}

}   

 

function rewrite($filename, $data) {  

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

flock($filenum, LOCK_EX);  

fwrite($filenum, $data);  

fclose($filenum);   

}   

?>  


原创粉丝点击