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

 更新时间:2014年12月18日 14:39:59   投稿:shichen2014  
这篇文章主要介绍了ThinkPHP打开验证码页面显示乱码的解决方法,通过头部添加自定义文件验证目录并过滤BOM头来实现该功能,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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 使用fopen函数创建、打开文件详解及实例代码

    php 使用fopen函数创建、打开文件详解及实例代码

    这篇文章主要介绍了php 使用fopen函数创建、打开文件详解及实例代码的相关资料,需要的朋友可以参考下
    2016-09-09
  • PHP分页类集锦

    PHP分页类集锦

    本文汇集了几个比较好用的php分页类,都是经过广大网友考验的代码了,小伙伴们可以直接拿来使用
    2014-11-11
  • PHP MPDF中文乱码的解决方式

    PHP MPDF中文乱码的解决方式

    这篇文章主要介绍了PHP MPDF中文乱码的解决方式 的相关资料,需要的朋友可以参考下
    2015-12-12
  • PHP HTTP 认证实例详解

    PHP HTTP 认证实例详解

    这篇文章主要介绍了PHP HTTP 认证实例详解的相关资料,这里附有实现代码,及对认证的知识做一个详细的介绍说明,需要的朋友可以参考下
    2016-11-11
  • laravel 判断查询数据库返回值的例子

    laravel 判断查询数据库返回值的例子

    今天小编就为大家分享一篇laravel 判断查询数据库返回值的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP使用Apache的伪静态功能实现“网页404时跳转指定页面

    PHP使用Apache的伪静态功能实现“网页404时跳转指定页面

    这篇文章主要介绍了PHP使用Apache的伪静态功能实现“网页404时跳转指定页面,这是比较常见的页面,文中的方法可以很好的解决,有需要的同学可以借鉴下
    2021-03-03
  • php爬取天猫和淘宝商品数据

    php爬取天猫和淘宝商品数据

    这篇文章主要为大家详细介绍了php爬取天猫和淘宝商品数据的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • php合并js请求的例子

    php合并js请求的例子

    php合并js请求的例子,直接看代码吧。
    2013-11-11
  • PHP使用Session遇到的一个Permission denied Notice解决办法

    PHP使用Session遇到的一个Permission denied Notice解决办法

    这篇文章主要介绍了PHP使用Session遇到的一个Permission denied Notice解决办法,本文系统环境是ubuntu、Debian系统,有很小的概率会遇到这个提示,需要的朋友可以参考下
    2014-07-07
  • php 验证码实例代码

    php 验证码实例代码

    首先验证码的原理就是,画一张图片,然后在这张图片上写一些字,然后加一些干扰的线条,像素点之类的东西就ok了,这里要使用php那就要知道php中画图的函数是那些,然后拿来用便是了。
    2010-06-06

最新评论