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中使用Oracle数据库(4)
Oct 09 PHP
php adodb连接mssql解决乱码问题
Jun 12 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
Apr 20 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
解析crontab php自动运行的方法
Jun 24 PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
php $_SESSION会员登录实例分享
Jan 19 PHP
PHP 芝麻信用接入的注意事项
Dec 01 PHP
自制PHP框架之路由与控制器
May 07 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 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
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
PHP5.5新特性之yield理解与用法实例分析
2019/01/11 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
详解vue组件基础
2018/05/04 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
python进程类subprocess的一些操作方法例子
2014/11/22 Python
介绍Python中内置的itertools模块
2015/04/29 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
python分布式计算dispy的使用详解
2019/12/22 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
Hibernate持久层技术
2013/12/16 面试题
大班上学期幼儿评语
2014/04/30 职场文书
小区文明倡议书
2014/05/16 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL