>  기사  >  백엔드 개발  >  验证码在哪加时间的字符串才可以避免读缓存解决方法

验证码在哪加时间的字符串才可以避免读缓存解决方法

WBOY
WBOY원래의
2016-06-13 10:11:18997검색

验证码在哪加时间的字符串才可以避免读缓存
这是我用类包装的一个验证图片功能 但是我不知道在哪加时间字符串才可以避免读缓存 还请高手指教下

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpclass ImageCode{    private $randcode;                                            //随机字符    private $randcodelength;                                    //随机字符长度    private $imgWidth;                                            //随机字符宽度    private $imgHeight;                                        //随机字符高度    private $line = 5;                                                //干扰线    private $code = array("q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m",                            "Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M",                            "1","2","3","4","5","6","7","8","9","0");    private $codelength;                                        //数组的长度    private $image;                                            //图片    private $background;                                        //背景    private $foreground;                                        //前景    function __construct(){        $this->randcodelength = 5;        $this->imgWidth = 80;        $this->imgHeight = 20;        $this->codelength = count($this->code)-1;                //获取数组长度当随机范围        $this->createrandcode();        $this->createimg();        $this->createString();        $this->drawline($this->line);        $this->ending();    }    function createrandcode(){        for($i=0;$irandcodelength;$i++){                //初始化验证码            $this->randcode .= $this->code[rand(0,$this->codelength)];        }    }    function createimg(){                                        //创建图片 前景 背景颜色        $this->image = imagecreatetruecolor($this->imgWidth,$this->imgHeight);        $this->background = imagecolorallocate($this->image,0,0,0);        $this->foreground = imagecolorallocate($this->image,255,255,255);    }    function createString(){                                    //创建字符串        imagestring($this->image,5,rand(5,35),0,$this->randcode,$this->foreground);    }    function drawline($some){        for($i=0;$iimage,rand(1,$this->imgWidth),rand(1,$this->imgHeight),rand(1,$this->imgWidth),rand(1,$this->imgHeight),$this->foreground);        }    }    function ending(){        ob_clean();                                    //抛弃缓存内容        header("Content-type: image/jpeg");        imagejpeg($this->image);    }}?>


------解决方案--------------------
网上搜一大把。
<script><br />function RefreshCode(obj){<br /> obj.src = obj.src + "?code=" + Math.random();<br />}<br /></script>
 
验证码
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.