PHP批量去除BOM頭代碼分享
更新時間:2015年06月26日 11:03:23 投稿:junjie
這篇文章主要介紹了PHP批量去除BOM頭代碼分享,本文直接給出實(shí)現(xiàn)代碼,代碼比較簡單,容易看懂,需要的朋友可以參考下
<?php
/**
* 去除bom頭信息
*/
header("Content-Type:text/html; charset=utf-8");
$auto = 1;
checkdir("D:\wamp\www\sales");
function checkdir($basedir){
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..'){
if (!is_dir($basedir."/".$file)) {
echo "文件名稱: $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=red>發(fā)現(xiàn)BOM并且已自動刪除</font>");
} else {
return ("<font color=red>發(fā)現(xiàn)BOM</font>");
}
}
else return ("沒有發(fā)現(xiàn)BOM");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>
您可能感興趣的文章:
相關(guān)文章
CodeIgniter配置之routes.php用法實(shí)例分析
這篇文章主要介紹了CodeIgniter配置之routes.php用法,結(jié)合實(shí)例形式分析了routes.php中常用配置參數(shù)的含義及具體使用技巧,需要的朋友可以參考下2016-01-01
四種php中webservice實(shí)現(xiàn)的簡單架構(gòu)方法及實(shí)例
這篇文章主要介紹了四種php中webservice實(shí)現(xiàn)的簡單架構(gòu)方法及實(shí)例,需要的朋友可以參考下2015-02-02
PHP增刪改查項(xiàng)目的實(shí)戰(zhàn)詳解
這篇文章主要為大家詳細(xì)介紹了PHP增刪改查項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
微信公眾號實(shí)現(xiàn)掃碼獲取微信用戶信息(網(wǎng)頁授權(quán))
剛開始接觸微信的時候一頭霧水,領(lǐng)導(dǎo)想要一個掃碼獲取微信用戶信息的功能,接下來通過本文給大家分享微信公眾號實(shí)現(xiàn)掃碼獲取微信用戶信息(網(wǎng)頁授權(quán)),需要的朋友可以參考下2019-04-04
讓CodeIgniter數(shù)據(jù)庫緩存自動過期的處理的方法
按官方的說法,緩存設(shè)置后永不過期,除非你調(diào)用方法主動刪除。這篇文章主要介紹了CodeIgniter數(shù)據(jù)庫緩存自動過期的處理,需要的朋友可以參考下2014-06-06

