首页 > 后端开发 > php教程 > 一个关于php里面GP库的有关问题

一个关于php里面GP库的有关问题

WBOY
发布: 2016-06-13 12:21:21
原创
1140 人浏览过

求助一个关于php里面GP库的问题
把GD库封装进类里面了,但不知道在那里出错了,
请有空滴大牛们帮忙看看,小弟感激不尽,谢谢
找了两天都没找到那里错了,图片还是显示不了,
如:

(先写了个表单biaodan.php)
nbsp;HTML>

    


        codetest
        
        
    
    
        

            name:

            pass:

            code:

            一个关于php里面GP库的有关问题

            

        

    



(然后封装了个类vcode.class.php)
    class Vcode{
        private $width; //宽
        private $height;//高
        private $num; //数量
        private $code;//验证码
        private $img; //图像的资源
        
        //构造方法, 三个参数
        function __construct($width,$height,$num){
            $this->width=$width;
            $this->height=$height;
            $this->num=$num;
            $this->code=$this->gocode();//调用自己的方法
        }
        
        //获取字符的验证码, 用于保存在服务器中
        function getcode(){
            
            return $this->code;
            
            
        }
        //输出图像
        function outimg(){
            //创建背景 (颜色, 大小, 边框)
            $this->createback();

            //输出图像
            $this->printimg();
        }
        //创建背景
        private function createback(){
            //创建资源
            $this->img=imagecreatetruecolor($this->width,$htis->height);
            //设置随机颜色
            $bgcolor=imagecolorallocate($this->img,rand(225,255),rand(225,255),rand(225,255));
            //设置背景填充
            imagefill($this->img,0,0,$bgcolor);
            //画边框
            $bordercolor=imagecolorallocate($this->img,0,0,0);
            imagerectangle($this->img,0,0,$this->width-1,$this->height-1,$bordercolor);
        }
        
        //画字
        private function outstring(){
        
        
        }
        
        //设置干扰元素
        private function grcode(){
        
        }
        
        //输出图像
        private function printimg(){
            if(imagetypes() & IMG_GIF){
                header("Content-type:image/gif");
                imagegif($this->img);
            }else if(imagetypes() & IMG_JPG){
                header("Content-type:image/jpeg");
                imagejpeg($this->img);
            }else if(imagetypes() & IMG_PNG){
                header("Content-type:image/png");
                imagepng($this->img);
            }else{
                die("No image support in this PHP server");
            }
        }
        
        //生成验证码字符串
        private function gocode(){
            $codes = "3456789abcdefghijkmnpqrstuvwxyABCDEFGHIJKLMNPQRSTUVWXY";
            $code= "";
            for($i=0;$inum;$i++){
                $code.=$codes{rand(0,strlen($codes)-1)};
            }
            return $code;
        }
        
        //用于自动销毁图像资源
        function __destruct(){
            imagedestroy($this->img);
        }
    
    }


(在调用类code.php)
    //开启session
    session_start();
    include "vcode.class.php";
    //构造方法
    $vcode= new Vcode(80,25,4);
    //将验证码放到服务器自己的空间保存一份
    $_SESSION=$vcode->getcode();
    //将验证码图片输出
    $vcode->outimg();
------解决思路----------------------
 //创建资源
            $this->img=imagecreatetruecolor($this->width,$htis->height);
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板