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


Posted in PHP onDecember 18, 2014

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

PHP 相关文章推荐
PHP Memcached应用实现代码
Feb 08 PHP
PHP IF ELSE简化/三元一次式的使用
Aug 22 PHP
PHP常用的缓存技术汇总
May 05 PHP
php.ini save_handler 修改不生效的解决办法
Jul 22 PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 PHP
PHP文件上传类实例详解
Apr 08 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 PHP
Yii框架模拟组件调用注入示例
Nov 11 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 PHP
PHP执行linux命令6个函数代码实例
Nov 24 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 #PHP
2014最热门的24个php类库汇总
Dec 18 #PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
Dec 18 #PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 #PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 #PHP
php生成二维码时出现中文乱码的解决方法
Dec 18 #PHP
php判断文件上传类型及过滤不安全数据的方法
Dec 17 #PHP
You might like
smarty基础之拼接字符串的详解
2013/06/18 PHP
php以post形式发送xml的方法
2014/11/04 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
jQuery使用手册之一
2007/03/24 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Python实现网站注册验证码生成类
2017/06/08 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
优秀实习生感言
2014/03/01 职场文书
党员自我对照检查材料
2014/08/19 职场文书
尊老爱幼演讲稿
2014/09/04 职场文书
就业协议书范本
2014/10/08 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android