使用PHP批量去除檔案UTF8 BOM資訊

2021-06-12 07:51:26 字數 1040 閱讀 7999

原理:

utf8檔案,微軟為了增加乙個識別

資訊,有了bom這個東西:bom —— byte order mark,預設在

windows

等平台上編輯的utf8檔案會在頭部增加3個位元組的標記資訊,我們

php引擎在處理的時候會完整讀取整個php**文件, 如果php檔案頭部包含bom資訊,就會輸出乙個空白,在很多時候會帶來問題,比如我們session無法工作、cookie無法設定等等問題。

解決方法:

把頭部bom的3個位元組資訊識別出來,然後剔除掉。不過一般情況我們不知道哪個

檔案有bom,或者是有很多檔案,這個時候,就需要進行批量處理了,下面**主要就是展現了批量處理的情況,應該會對大家工作中有幫助。

執行方法:

設定乙個路徑,然後直接執行就行。

//********************= **開始 *************************

<?php

// 設定你要清除bom的根目錄(會自動掃瞄所有子目錄和檔案)

$home = dirname(__file__);

// 如果是windows系統,修改為:$win = 1;

$win = 0;

?>

<?php

$bombed = array();

recursivefolder($home);

echo '';

foreach ($bombed as $utf)

echo '

';// 遞迴掃瞄

function recursivefolder($shome) else

}} }

$folder->close();

if(count($foundfolders) > 0) }}

// 搜尋當前檔案是否有bom

function searchbom($string)

?>

//********************= **結束 *************************==

如何使用PHP批量去除檔案UTF8 BOM資訊

原gequqeee理 utf8檔案,微軟為了增加乙個識別資訊,有了bom這個東西 bom byte order mark,預設在windows等平台上編輯的utf8檔案會在頭部增加3個位元組的標記資訊,我們php引擎在處理的時候會完整讀取整個php 文件,如果php檔案頭部包含bom資訊,就會輸出乙...

php使用fopen建立utf8編碼檔案的方法

一般來說,如果我們直接使用fopen建立會發現檔案編碼都不是uft 8的了,那麼如果要建立uft8檔案我們需要進行一些技術處理。具體步驟如下 使用php建立編碼格式為utf 8檔案的方法 第一步 新建乙個txt檔案,開啟,檔案 另存為 php,並將編碼改為utf 8,儲存。第二部 在php檔案中加入...

去除 UTF 8 檔案 BOM 頭

bom 全稱是 byte order mark 位元組順序標記 出現在文字檔案頭部,unicode 編碼標準中用於標識檔案是採用哪種格式的編碼。比如 當用記事本儲存乙個以 utf 8 編碼的檔案時,會自動在檔案開始自動插入三個不可見字元 0xef 0xbb 0xbf 但是通常情況下不需要這個頭部來識...