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

本文实例讲述了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程序设计有所帮助。

时间: 2024-10-03 19:09:15

ThinkPHP打开验证码页面显示乱码的解决方法_php实例的相关文章

ThinkPHP的截取字符串函数无法显示省略号的解决方法_php实例

对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下: 打开Common/extend.php页面,修改msubstr函数如下: function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) { if(function_exists("mb_substr")) { if($suffix) { if($str==mb_substr($str, $start, $le

destoon网站转移服务器后搜索汉字出现乱码的解决方法_php实例

很多使用destoon的用户在网站转移服务器后,一切正常,但是在有搜索页面时,搜索汉字就会出现乱码 框框 之类的符号,而搜索数字,英文则很正常. 对于使用destoon(GBK)模板的用户来说,解决方法为: 将.htaccess文件中的 RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 改为 RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 [NU] 如果设置了NU标记,从Unicode转换为UTF – 8将不会发生.所有Unicode字符会保

thinkphp打开验证码页面是乱码

 代码如下 复制代码 <?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 !

Apache无法自动跳转却显示目录的解决方法_php实例

Apache无法自动跳转却显示目录这是因为Apache服务器下conf/httpd.conf没有配置好,其默认是不跳转,直接显示目录 首先,我们需要禁止Apache直接显示目录. 方法在搜索Options Indexes FollowSymLinks,将其该为Options FollowSymLinks   其实,解决Apache无法自动跳转的问题,这是因为Apache本来只是一个http服务器,不会自动跳转到index.php页面.需要定位<IfModule dir_module>这一项,将

114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法_php实例

经过一段时间的调试分析,发现有个函数写的很乱,估计是改版的时候落下了没改,经过一段时间修改调试,终于正常的生成了4级页面,不敢独用,分享给大家. 希望对那些想用114la源码但是因为这个问题想放弃的人有所帮助. 找到管理目录下的modules目录,找到mod_make_html.php文件, 把get_html_4catalog($cid)这个函数替换成下面的代码就可以正常生成4级页面了. 复制代码 代码如下: /** * 生成4级分类 HTML * * @param int $cid * @r

《Excel高手捷径:一招鲜,吃遍天》一第28招 Excel打开CSV文件为乱码的解决方法

第28招 Excel打开CSV文件为乱码的解决方法 Excel高手捷径:一招鲜,吃遍天从网页上导出数据文件存储为CSV格式的文件,使用记事本打开文字显示没有问题,使用Excel打开出现乱码的情况,如图1-112所示. 此种情况一般是导出的文件编码的问题.在简体中文环境下,Excel打开CSV文件默认是ANSI编码,如果CSV文件的编码方式为UTF-8.Unicode等编码可能就会出现文件乱码情况.解决方法如下. 设置Office语言环境(以Office 2013为例): 文件→Excel选项→语

MathType数学符号显示乱码的解决方法

Word和MathType可以完美兼容,但有时在Word中使用MathType编辑公式时,遇到输入的数学符号变成乱码的情况,那么该如何解决此问题呢?以下教程详解解决Word中MathType数学符号乱码的问题. 解决方法的具体步骤如下: 1.双击在Word中有显示问题的数学公式,这时MathType公式编辑器会自动启动. 2.在公式编辑器的界面中单击"样式"菜单下的"定义"选项. 在样式菜单下选择定义选项 3.在弹出的"定义样式"对话框中,点选&

php查询mssql出现乱码的解决方法_php技巧

本文实例讲述了php查询mssql出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 在php连接mssql时查询出来的全部是乱码,这种问题我根据经验知道是编码问题,下面来给各位总结一下解决方法. 方法一,修改php.ini文件,当然根据你页面情况来设置也可以是utf-8编码了,代码如下: 复制代码 代码如下: ;mssql.charset = "ISO-8859-1" mssql.charset = "GBK" 方法二,直接程序中转换,代码如下: 复制代码

PHP采用get获取url汉字出现乱码的解决方法_php技巧

本文实例讲述了PHP采用get获取url汉字出现乱码的解决方法.分享给大家供大家参考.具体方法如下: 一.问题: 本来打算这样使用 复制代码 代码如下: <a href="list.php?plate=辖区动态" charset="utf-8" target="main">[查看辖区动态]</a> 结果在list.php页面得到的是-–查看[辖区动怿] 一开始猜想可能是汉字的"态"这个编码和某些东西冲突