查看: 811|回复: 0

验证码不显示 清楚bom头

[复制链接]

77

主题

77

帖子

251

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
251
发表于 2019-10-18 05:17:39 | 显示全部楼层 |阅读模式
验证码不显示 清楚bom头

UTF8文件中的BOM头在作怪,要清除文件的BOM头,用下面代码建立一个PHP文件,放在后台文件夹里,在浏览器里运行一次就可以显示验证码了。


  1. <?php

  2. /*清除bom*/

  3. if(isset($_GET['dir'])){

  4.     $basedir=$_GET['dir'];

  5. }else{

  6.     $basedir = '.';

  7. }   

  8. $auto = 1;   

  9. checkdir($basedir);

  10. function checkdir($basedir){

  11.     if($dh = opendir($basedir)){

  12.         while(($file = readdir($dh)) !== false){

  13.             if($file != '.' && $file != '..'){

  14.                 if(!is_dir($basedir."/".$file)){

  15.                     echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>";

  16.                 }else{

  17.                     $dirname = $basedir."/".$file;

  18.                     checkdir($dirname);

  19.                 }

  20.             }

  21.         }//end while

  22.     closedir($dh);

  23.     }//end if($dh

  24. }    //end function

  25. function checkBOM($filename){

  26.     global $auto;

  27.     $contents = file_get_contents($filename);

  28.     $charset[1] = substr($contents, 0, 1);   

  29.     $charset[2] = substr($contents, 1, 1);   

  30.     $charset[3] = substr($contents, 2, 1);   

  31.     if(ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191){

  32.         if($auto == 1){

  33.             $rest = substr($contents, 3);

  34.             rewrite ($filename, $rest);

  35.             return "<font color=red>BOM found, automatically removed.</font>";

  36.         }else{

  37.             return ("<font color=red>BOM found.</font>");

  38.         }

  39.     }   

  40.     else return ("BOM Not Found.");

  41. }//end function

  42. function rewrite($filename, $data){

  43.     $filenum = fopen($filename, "w");

  44.     flock($filenum, LOCK_EX);

  45.     fwrite($filenum, $data);

  46.     fclose($filenum);

  47. }

  48. ?>
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册极酷会员

本版积分规则

快速回复 返回顶部 返回列表