龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 删除utf-8 BOM

时间:2014-07-29 02:39来源:网络整理 作者:网络 点击:
分享到:
删除utf-8 BOM [代码片段(52行)]
<?php
//查找utf-8 BOM问题
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>存在,自动删除.</font>");
         } else {
            return("<font color=red>不存在</font>");
         }
   } 
     else return("不存在");
 }

 function rewrite($filename, $data) {
     $filenum = fopen($filename, "w");
    flock($filenum, LOCK_EX);
     fwrite($filenum, $data);
     fclose($filenum);
 }
 ?>
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接