最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP批量去除BOM頭內容信息代碼

 更新時間:2016年03月11日 10:24:08   作者:jerrylsxu  
這篇文章主要介紹了PHP批量去除BOM頭內容信息代碼的相關資料,需要的朋友可以參考下

什么是bom頭?

在utf-8編碼文件中BOM在文件頭部,占用三個字節(jié),用來標示該文件屬于utf-8編碼,現(xiàn)在已經有很多軟件識別bom頭,但是還有些不能識別bom頭,比如PHP就不能識別bom頭,這也是用記事本編輯utf-8編碼后執(zhí)行就會出錯的原因了。

批量去除bom頭代碼如下所示:

<?php 
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")." <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>BOM found, automatically removed._<a href=http://www.joyphper.net>http://www.joyphper.net</a></font>"); 
} else { 
return ("<font color=red>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); 
} 
?> 

PS:去掉bom頭的辦法,簡單的是下面兩種:

1、editplus去BOM頭的方法

編輯器調整為UTF8編碼格式后,保存的文件前面會多出一串隱藏的字符(也即是BOM),用于編輯器識別這個文件是否是以UTF8編碼。

運行Editplus,點擊工具,選擇首選項,選中文件,UTF-8標識選擇 總是刪除簽名,

然后對PHP文件編輯和保存后的PHP文件就是不帶BOM的了。

2、ultraedit去除bom頭辦法

打開文件后,另存為選項的編碼格式里選擇(utf-8 無bom頭),確定就ok了

怎么樣,去掉bom頭很簡單吧

再來一段議論utf8的BOM信息的

BOM是指php文件本身的存儲方式為帶BOM的UTF-8,普通頁面的中文亂碼方式一般不是由這個原因導致的。

header("Content-type: text/html; charset=utf-8");

這句話控制html輸出頁面的編碼方式,

BOM只有在WINDOWS下采用“記事本”存儲為UTF-8時才會有,這個可以用WINHEX把開始的2個字節(jié)刪掉。

在dreamweaver里面編碼設置里面可以設置是否帶BOM,一般只要php輸出的不是圖片(GDI Stream),BOM都不會導致問題。
GDI Stream如果開頭有了額外的 字符就會顯示為 紅叉。

相關文章

  • php實現(xiàn)產品加入購物車功能(1)

    php實現(xiàn)產品加入購物車功能(1)

    這篇文章主要為大家詳細介紹了php實現(xiàn)產品加入購物車功能,具有一定的參考價值,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • PHP+百度AI OCR文字識別實現(xiàn)了圖片的文字識別功能

    PHP+百度AI OCR文字識別實現(xiàn)了圖片的文字識別功能

    這篇文章主要介紹了PHP+百度AI OCR文字識別實現(xiàn)了圖片的文字識別功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • PHP檢測移動設備類mobile detection使用實例

    PHP檢測移動設備類mobile detection使用實例

    這篇文章主要介紹了PHP檢測移動設備類mobile detection使用實例,mobile detection可以檢測到絕大部分手機、平板電腦的操作系統(tǒng)、瀏覽器等數(shù)據,需要的朋友可以參考下
    2014-04-04
  • php獲取301跳轉URL簡單實例

    php獲取301跳轉URL簡單實例

    這篇文章主要介紹了php獲取301跳轉URL簡單實例,有需要的朋友可以參考一下
    2013-12-12
  • YII2框架實現(xiàn)表單中上傳單個文件的方法示例

    YII2框架實現(xiàn)表單中上傳單個文件的方法示例

    這篇文章主要介紹了YII2框架實現(xiàn)表單中上傳單個文件的方法,結合實例形式分析了YII2框架表單提交與文件上傳相關操作技巧,需要的朋友可以參考下
    2020-03-03
  • ThinkPHP實現(xiàn)附件上傳功能

    ThinkPHP實現(xiàn)附件上傳功能

    這篇文章主要為大家詳細介紹了ThinkPHP實現(xiàn)附件上傳功能,圖片,文檔,視頻等文件進行上傳,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • PHP處理二進制數(shù)據的實現(xiàn)方法

    PHP處理二進制數(shù)據的實現(xiàn)方法

    下面小編就為大家?guī)硪黄狿HP處理二進制數(shù)據的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Laravel統(tǒng)一錯誤處理為JSON的方法介紹

    Laravel統(tǒng)一錯誤處理為JSON的方法介紹

    這篇文章主要給大家介紹了關于Laravel統(tǒng)一錯誤處理為JSON的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • laravel 實現(xiàn)登陸后返回登陸前的頁面方法

    laravel 實現(xiàn)登陸后返回登陸前的頁面方法

    今天小編就為大家分享一篇laravel 實現(xiàn)登陸后返回登陸前的頁面方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • laravel框架關于搜索功能的實現(xiàn)

    laravel框架關于搜索功能的實現(xiàn)

    本文是作者整理的關于laravel框架搜索功能的實現(xiàn)原理,并附上了詳細代碼,有需要的小伙伴請持續(xù)關注!
    2018-03-03

最新評論

噶尔县| 郧西县| 海淀区| 江源县| 阳春市| 祁门县| 右玉县| 泸水县| 门头沟区| 怀远县| 河北省| 牟定县| 柞水县| 东莞市| 沛县| 栾城县| 黔西| 巩留县| 七台河市| 重庆市| 康平县| 万盛区| 瑞丽市| 拉萨市| 邯郸市| 伊川县| 丹棱县| 普格县| 中西区| 多伦县| 于田县| 博白县| 安多县| 江源县| 红桥区| 葵青区| 太康县| 黎川县| 鄂托克前旗| 堆龙德庆县| 紫云|