首頁  >  文章  >  後端開發  >  簡述用PHP去掉文件頭的Unicode簽章方法詳解

簡述用PHP去掉文件頭的Unicode簽章方法詳解

巴扎黑
巴扎黑原創
2017-06-23 13:52:311207瀏覽

//此檔案用於快速測試UTF8編碼的檔案是否加了BOM,並可自動移除

//By Bob Shen

$basedir="."; //修改此行為需要偵測的目錄,點表示目前目錄

$auto=1; //是否自動移除發現的BOM資訊。 1為是,0為否。

//以下不用改動

if ($dh = opendir($basedir)) {

while (($file = readdir($dh)) !== false) {

if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) echo "filename: $file ". checkBOM("$basedir/$file")."
";

#}

closedir($dh);

##}

# function checkBOM ($filename) {

$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) {
$rest=substr($contents, 3);
rewrite ($filename, $ rest);
return true;
}
else return ("BOM Not Found.");
}

function rewrite ($filename, $data) {

$filenum=fopen($filename,"w");
flock($filenum,LOCK_EX);
fwrite($filenum,$data);
fclose($filenum);
}

?>

以上是簡述用PHP去掉文件頭的Unicode簽章方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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