ホームページ  >  記事  >  バックエンド開発  >  phpファイルのbomの機能をチェックしてクリアします。

phpファイルのbomの機能をチェックしてクリアします。

WBOY
WBOYオリジナル
2016-07-25 09:05:311000ブラウズ
  1. /**

  2. 機能: BOM の検出とクリア
  3. リンク: bbs.it-home.org
  4. */
  5. if(isset($_GET['dir'])){
  6. $basedir=$_GET['dir'];
  7. }else{
  8. $basedir = '.';
  9. }
  10. $auto = 1;
  11. checkdir($basedir);

  12. function checkdir($basedir){

  13. if($dh = opendir($basedir)){
  14. while(($file = readdir($dh)) !== false){
  15. if($file != '.' && $file != '..'){
  16. if(!is_dir($basedir."/".$file)){
  17. echo "ファイル名: $basedir/$file ".checkBOM("$basedir/$file")
    ";
  18. }else{
  19. $dirname = $basedir."/".$file;
  20. checkdir($dirname);
  21. }
  22. }
  23. }//end while
  24. closedir($dh);
  25. }//end if($dh
  26. }//end function

  27. function checkBOM($filename){

  28. global $auto;
  29. $contents = file_get_contents($filename);
  30. $charset[ 1] = substr($contents, 0, 1);
  31. $charset[2] = substr($contents, 1, 1);
  32. $charset[3] = substr($contents, 2, 1); ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191){
  33. if($auto == 1){
  34. $rest = substr($contents, 3);
  35. rewrite ($filename, $rest);
  36. return "BOM が見つかりました。";
  37. }else{
  38. return (" BOM が見つかりました。");
  39. }
  40. }
  41. else return ("BOM が見つかりません。");
  42. }

  43. function rewrite($ファイル名, $data){

  44. $filenum = fopen($filename, "w");
  45. fwrite($filenum, $data);
  46. fclose($filenum); >

  47. 复制發
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。