去掉utf8 bom

<?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 ("<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);   

}   

?>  

  

posted on 2012-03-30 19:33  zhexiao  阅读(144)  评论(0编辑  收藏  举报

导航