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);}?>