首頁 >後端開發 >PHP問題 >php檔怎麼去掉65279

php檔怎麼去掉65279

藏色散人
藏色散人原創
2021-04-02 09:25:181899瀏覽

php檔案去掉65279的方法:先建立一個PHP範例檔案;然後透過「function checkdir($basedir){...}」等方法檢查並移除目前目錄及子目錄所有檔案BOM資訊;最後將其放在根目錄下即可。

php檔怎麼去掉65279

本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦

  • PHP批次偵測並移除檔案BOM頭代碼實例導致空白行解決辦法

因為檔案頭資訊輸出BOM頭訊息,有時會對程式的執行結果造成影響,那麼此時即應對這些文件的BOM資訊進行去除

如下程式碼為PHP方式去除當前目錄及子目錄所有文件BOM資訊的程式碼,新建文件,將其放倒根目錄下,然後瀏覽器參觀即可。

<?php
if (isset($_GET[&#39;dir&#39;])) { //设置文件目录  
    $basedir = $_GET[&#39;dir&#39;];
} else {
    $basedir = &#39;.&#39;;
}
$auto = 1;
checkdir($basedir);
function checkdir($basedir)
{
    if ($dh = opendir($basedir)) {
        while (($file = readdir($dh)) !== false) {
            if ($file != &#39;.&#39; && $file != &#39;..&#39;) {
                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=&#39;red&#39;>BOM found, automatically removed.</font>");
        } else {
            return ("<font color=&#39;red&#39;>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);
}
?>

【推薦學習:PHP影片教學

以上是php檔怎麼去掉65279的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn