国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

自己寫(xiě)了一個(gè)php檢測(cè)文件編碼的函數(shù)

2024-09-04 11:43:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

關(guān)于文件編碼的檢測(cè),百度一下一大把都是,但是確實(shí)沒(méi)有能用的,下面是自己寫(xiě)了一個(gè)檢測(cè)函數(shù),希望對(duì)大家有所幫助。

關(guān)于文件編碼的檢測(cè),百度一下一大把都是,但是確實(shí)沒(méi)有能用的、很多人建議 mb_detect_encoding 檢測(cè),可是不知為何我這不成功,什么都沒(méi)輸出、看到有人寫(xiě)了個(gè)增強(qiáng)版,用 BOM 判斷的,我果斷就無(wú)視了,這東西完全不靠譜、最終根據(jù)PHP手冊(cè)里 mb_detect_encoding 函數(shù)下方的例子,自己寫(xiě)了一個(gè)檢測(cè)函數(shù),還包括自動(dòng)檢測(cè)編碼并按指點(diǎn)編碼讀取文件的函數(shù)、源碼獻(xiàn)上,不喜勿噴。

網(wǎng)上的方法我試過(guò)沒(méi)用才寫(xiě)的,說(shuō)不定環(huán)境不一樣導(dǎo)致的。

所以萬(wàn)一沒(méi)用,也別噴我,我只是共享想思路而已,代碼如下:

  1. <?php 
  2. /** 
  3. * 檢測(cè)文件編碼 
  4. * @param string $file 文件路徑 
  5. * @return string|null 返回 編碼名 或 null 
  6. */ 
  7. function detect_encoding($file) { 
  8. $list = array('GBK''UTF-8''UTF-16LE''UTF-16BE''ISO-8859-1'); 
  9. $str = file_get_contents($file); 
  10. foreach ($list as $item) { 
  11. $tmp = mb_convert_encoding($str$item$item); 
  12. if (md5($tmp) == md5($str)) { 
  13. return $item
  14. return null; 
  15.  
  16. /** 
  17. * 自動(dòng)解析編碼讀入文件 
  18. * @param string $file 文件路徑 
  19. * @param string $charset 讀取編碼 
  20. * @return string 返回讀取內(nèi)容 
  21. */ 
  22. function auto_read($file$charset='UTF-8') { 
  23. $list = array('GBK''UTF-8''UTF-16LE''UTF-16BE''ISO-8859-1'); 
  24. $str = file_get_contents($file); 
  25. foreach ($list as $item) { 
  26. $tmp = mb_convert_encoding($str$item$item); 
  27. if (md5($tmp) == md5($str)) { 
  28. return mb_convert_encoding($str$charset$item); 
  29. return ""

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 深州市| 紫云| 石棉县| 霸州市| 武安市| 晋州市| 离岛区| 仁怀市| 乐都县| 抚远县| 中山市| 安康市| 台江县| 广宗县| 永胜县| 叙永县| 得荣县| 衢州市| 宁蒗| 辽宁省| 嘉兴市| 城固县| 盐山县| 屯门区| 平安县| 桃园县| 阳高县| 定远县| 广灵县| 海淀区| 若尔盖县| 乡城县| 肇庆市| 吉水县| 长春市| 定日县| 富川| 望奎县| 绥中县| 离岛区| 乌兰县|