亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP 去掉 utf8格式文件中的bom頭部

2024-05-04 21:47:58
字體:
來源:轉載
供稿:網友

我們有時要去掉utf8文檔中頭部我們經常會需要手工清除了,下面我整理了幾個利用php程序清除 utf8格式文件中的bom頭部方法.

PHP實例1,代碼如下:

  1. /** 
  2.  * 去掉文件中的 bom頭 
  3.  * @var 0.1 
  4.  * @author Chenwp 
  5.  */ 
  6. function clearbom($contents){     
  7.     //UTF8 去掉文本中的 bom頭 
  8.     $BOM = chr(239).chr(187).chr(191);  
  9.     return str_replace($BOM,'',$contents);     
  10.  
  11. /** 
  12.  * 去掉文件中的bom頭 
  13.  * @param object $fileName Description 
  14.  * @return object    Description 
  15.  */ 
  16. function clearfilebom($fileName){ 
  17.     $c = file_get_contents($fileName); 
  18.     $c = clearbom($c); 
  19.     file_put_contents($fileName,$c); 

PHP實例例2,代碼如下:

  1. <?php 
  2.  
  3. //此文件用于快速測試UTF8編碼的文件是不是加了BOM,并可自動移除 
  4.  
  5. $basedir="."//修改此行為需要檢測的目錄,點表示當前目錄 
  6. $auto=1; //是否自動移除發現的BOM信息。1為是,0為否。 
  7.  
  8. //以下不用改動 
  9.  
  10. if ($dh = opendir($basedir)) { 
  11.        while (($file = readdir($dh)) !== false) { 
  12.        if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) echo "filename: $file ".checkBOM("$basedir/$file")." <br>"
  13.        } 
  14.        closedir($dh); 
  15.  
  16. function checkBOM ($filename) { 
  17.        global $auto
  18.        $contents=file_get_contents($filename); 
  19.        $charset[1]=substr($contents, 0, 1);  
  20.        $charset[2]=substr($contents, 1, 1);  
  21.        $charset[3]=substr($contents, 2, 1);  
  22.        if (ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191) { 
  23.             if ($auto==1) { 
  24.                   $rest=substr($contents, 3); 
  25.                   rewrite ($filename$rest); 
  26.                   return ("<font color=red>BOM found, automatically removed.</font>"); 
  27.             } else { 
  28.                   return ("<font color=red>BOM found.</font>"); 
  29.             } 
  30.         }  
  31.          else return ("BOM Not Found."); 
  32.  
  33. function rewrite ($filename$data) { 
  34.         $filenum=fopen($filename,"w"); 
  35.         flock($filenum,LOCK_EX); 
  36.         fwrite($filenum,$data); 
  37.         fclose($filenum); 
  38. //結束 
  39. ?> 

PHP實例3,代碼如下:

  1. <?php  
  2. // 設定你要清除BOM的根目錄(會自動掃描所有子目錄和文件) 
  3. $HOME = dirname(__FILE__); 
  4. // 如果是Windows系統,修改為:$WIN = 1; 
  5. $WIN = 0; 
  6. ?> 
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  8. <html xmlns="http://www.w3.org/1999/xhtml"
  9. <head> 
  10. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  11. <title>UTF8 BOM 清除器</title> 
  12. <style> 
  13. body { font-size: 10px; font-family: Arial, Helvetica, sans-serif; background: #FFF; color: #000; } 
  14. .FOUND { color: #F30; font-size: 14px; font-weight: bold; } 
  15. </style> 
  16. </head> 
  17. <body> 
  18. <?php 
  19. $BOMBED = array(); 
  20. RecursiveFolder($HOME); 
  21. echo '<h2>These files had UTF8 BOM, but i cleaned them:</h2><p class="FOUND">'
  22. foreach ($BOMBED as $utf) { echo $utf ."<br />n"; } 
  23. echo '</p>'
  24. // 遞歸掃描 
  25. function RecursiveFolder($sHOME) { 
  26.  global $BOMBED$WIN
  27.  $win32 = ($WIN == 1) ? "/" : "/"; 
  28.  $folder = dir($sHOME); 
  29.  $foundfolders = array(); 
  30.  while ($file = $folder->read()) { 
  31.   if($file != "." and $file != "..") { 
  32.    if(filetype($sHOME . $win32 . $file) == "dir"){ 
  33.     $foundfolders[count($foundfolders)] = $sHOME . $win32 . $file
  34.    } else { 
  35.     $content = file_get_contents($sHOME . $win32 . $file); 
  36.     $BOM = SearchBOM($content); 
  37.     if ($BOM) { 
  38.      $BOMBED[count($BOMBED)] = $sHOME . $win32 . $file
  39.      // 移出BOM信息 
  40.      $content = substr($content,3); 
  41.      // 寫回到原始文件 
  42.      file_put_contents($sHOME . $win32 . $file$content); 
  43.     } 
  44.    } 
  45.   } 
  46.  } 
  47.  $folder->close(); 
  48.  if(count($foundfolders) > 0) { 
  49.   foreach ($foundfolders as $folder) { 
  50.    RecursiveFolder($folder$win32); 
  51.   } 
  52.  } 
  53. // 搜索當前文件是否有BOM 
  54. function SearchBOM($string) {  
  55.   if(substr($string,0,3) == pack("CCC",0xef,0xbb,0xbf)) return true; 
  56.   return false;  
  57. ?> 
  58. </body> 
  59. </html> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲午夜国产成人av电影男同| 亚洲精品日韩欧美| 亚洲精品免费av| 国产精品亚洲视频在线观看| 亚洲网站视频福利| 色先锋久久影院av| 国产成人福利视频| 91精品久久久久久久久久久| 91香蕉电影院| 91高潮在线观看| 欧美成在线观看| 国产精品自拍偷拍视频| 国产成人精品av| 大伊人狠狠躁夜夜躁av一区| 国产精品露脸av在线| 日本精品久久中文字幕佐佐木| 国产精品人人做人人爽| 91精品美女在线| 久久免费视频这里只有精品| 国产精品美女主播| 97超碰色婷婷| 一本色道久久综合亚洲精品小说| 国产精品精品视频| 亚洲视频在线观看视频| 国产成人鲁鲁免费视频a| 欧美黑人一级爽快片淫片高清| 久久国产天堂福利天堂| 久久免费精品日本久久中文字幕| 久久中文字幕视频| 精品在线小视频| 91超碰中文字幕久久精品| 日韩在线视频免费观看| 欧美国产日韩一区二区| 亚洲天天在线日亚洲洲精| 欧美电影免费观看网站| 亚洲精品福利资源站| 久久久久久尹人网香蕉| 欧美孕妇性xx| 欧美亚洲国产视频| 亚洲第一黄色网| 亚洲一区av在线播放| 国产亚洲欧美日韩美女| 欧美性猛交xxxx黑人| 成人h猎奇视频网站| 日韩精品视频在线观看网址| 久久免费精品日本久久中文字幕| 亚洲区一区二区| 久久精品国产免费观看| 欧美在线免费视频| 国产欧美精品一区二区三区-老狼| 日韩av毛片网| 成人激情视频小说免费下载| 国内精品久久久久久中文字幕| 中文字幕亚洲二区| 亚洲成人黄色在线观看| 久热精品视频在线免费观看| 亚洲成人久久一区| 日韩欧美成人免费视频| 88xx成人精品| 亚洲精品电影在线观看| 成人午夜激情免费视频| 亚洲综合视频1区| 国产综合在线观看视频| 欧美视频二区36p| 欧美成人h版在线观看| 亚洲国产精品久久久| 国产精品99久久久久久久久久久久| 久久久久国产精品www| 91免费综合在线| 国产精品视频99| 欧美一级bbbbb性bbbb喷潮片| 欧美精品一二区| 亚洲性视频网址| 日韩精品有码在线观看| 亚洲女人天堂成人av在线| 久久久久久久久电影| 成人午夜激情免费视频| 日韩视频欧美视频| 中文字幕亚洲综合久久| 国产午夜精品麻豆| 一本久久综合亚洲鲁鲁| 57pao国产精品一区| 国产精品精品视频| 国产精品一区二区久久精品| 久久久精品视频成人| 韩国v欧美v日本v亚洲| 国产一区二区三区高清在线观看| 欧美成人精品激情在线观看| 热re99久久精品国产66热| 最近2019年日本中文免费字幕| 亚洲网在线观看| 91精品久久久久久综合乱菊| 精品福利免费观看| 国产精品久久久久久av福利软件| 欧美性xxxx在线播放| 欧美在线播放视频| 最近2019中文字幕一页二页| 欧美激情a∨在线视频播放| 91精品中文在线| 国产日韩欧美中文在线播放| 国产精自产拍久久久久久| 日本免费久久高清视频| 成人在线观看视频网站| www国产精品视频| 日韩在线欧美在线| 日韩av在线免费看| 国内免费精品永久在线视频| 国产精品一区二区三区久久| 97香蕉超级碰碰久久免费的优势| 在线视频日本亚洲性| 亚洲精品91美女久久久久久久| 久久99久久久久久久噜噜| 欧洲精品久久久| 精品一区二区三区四区| 欧美日韩中文字幕在线| 在线一区二区日韩| 欧美精品久久一区二区| 欧美性资源免费| 成人信息集中地欧美| 日本a级片电影一区二区| 欧美一级片久久久久久久| 法国裸体一区二区| 欧美黑人性视频| 久久久免费精品视频| 久久天天躁夜夜躁狠狠躁2022| 国产精品偷伦免费视频观看的| 国产精品视频精品视频| 中文精品99久久国产香蕉| 亚洲男人天堂2019| 国产日韩在线看片| 日韩在线观看免费全集电视剧网站| 美女啪啪无遮挡免费久久网站| 原创国产精品91| 欧美激情在线视频二区| 久久久国产精品x99av| 97国产精品久久| 性欧美亚洲xxxx乳在线观看| 欧美日韩国产一区二区| 国产精品羞羞答答| 国产69精品99久久久久久宅男| 亚洲图片制服诱惑| 97视频在线观看播放| 国产精品天天狠天天看| 91爱爱小视频k| 欧美激情一级欧美精品| 久久在精品线影院精品国产| 日本国产一区二区三区| 97人人模人人爽人人喊中文字| 国产一区二区黑人欧美xxxx| 中文字幕av一区二区| 欧美精品激情在线| 欧美在线精品免播放器视频| 成人免费视频网| 国产日韩av在线播放| 狠狠色狠色综合曰曰| 久久99精品久久久久久噜噜| 久久久国产精品亚洲一区| 成人免费视频xnxx.com| 日韩美女视频免费在线观看| 欧美黑人又粗大| 国产成人精品av在线| 久久6免费高清热精品| 一区二区三区久久精品| 久久伊人免费视频|