您的位置:首页 > 编程语言 > PHP开发

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

2014-12-18 00:00 1551 查看
本文实例讲述了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程序设计有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ThinkPHP 验证码 乱码