Php批量去除bom工具原始碼

來源:互聯網
上載者:User

bom讓人很頭疼,在php開發中產生亂碼致使很多問題發生,網上找來了這個工具,已經經過本人最佳化,使用起來比較方便.需要的朋友請放心使用,絕無副作用.

代碼如下: 

<?phpheader("Content-Type:text/html; charset=utf-8");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 "檔案名稱: $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並且已自動刪除</font>");  } else {   return ("<font color=red>發現BOM</font>");  }}else return ("沒有發現BOM");}function rewrite ($filename, $data) {$filenum = fopen($filename, "w");flock($filenum, LOCK_EX);fwrite($filenum, $data);fclose($filenum);}?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.