ThinkPHP打开验证码页面显示乱码的解决方法

本文实例讲述了ThinkPHP打开验证码页面显示乱码的解决方法。分享给大家供大家参考。具体分析如下:

在用thinkphp开发的时候,有时会出现验证码乱码的问题,解决方法是把如下这个文件放在根目录,访问后就可以解决了,具体的PHP代码如下:

<?php

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 "filename: $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 found, automatically removed.</font>");     } else {      return ("<font color=red>BOM found.</font>");     }   }   else return ("BOM Not Found.");   }   function rewrite ($filename, $data) {   $filenum = fopen($filename, "w");   flock($filenum, LOCK_EX);   fwrite($filenum, $data);   fclose($filenum);   }   ?>

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。