PHP 去掉文件的bom头工具

PHP 去掉文件的bom头工具

* 不能登入或者不能登出;

 * 验证码不能正常显示;

* 页顶出现一条空白;

 * 页顶出现错误警告; 

* 其它不正常的情况。

复制以下代码,新建文件(如:bom.php),将此文件上传到网站根目录,执行该文件(http://www.xxx.com/bom.php)即可。

<?php set_time_limit(120);  
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);  
                }  
            }  
        }  
        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 ("bom is cleaned");  
        } else {  
            return ("");  
        }  
    } else  
        return ("BOM Not Found.");  
}  
   
function rewrite($filename, $data) {  
    $filenum = fopen($filename, "w");  
    flock($filenum, LOCK_EX);  
    fwrite($filenum, $data);  
    fclose($filenum);  
}



回复列表



回复操作






   

发布时间:2016-07-25 16:34:03