Home  >  Article  >  php教程  >  检查php文件中是否含有bom的php文件

检查php文件中是否含有bom的php文件

WBOY
WBOYOriginal
2016-06-13 10:49:311140browse

/*检测并清除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")."
"; 
                }else{ 
                    $dirname = $basedir."/".$file; 
                    checkdir($dirname); 
                } 
            } 
        }//end while 
    closedir($dh); 
    }//end if($dh 
}//end function 
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."); 
        } 
    }   www.2cto.com
    else return ("BOM Not Found."); 
}//end function 
function rewrite($filename, $data){ 
    $filenum = fopen($filename, "w"); 
    flock($filenum, LOCK_EX); 
    fwrite($filenum, $data); 
    fclose($filenum); 
}//end function 
?>
 
 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn