Heim >Backend-Entwicklung >PHP-Tutorial >怎么把验证码的图片存起来

怎么把验证码的图片存起来

WBOY
WBOYOriginal
2016-06-06 20:22:361512Durchsuche

如代码GD生成了图片$im:


<code>   public function generateCode(){
        $w = 50;
        $h = 20;
        $this->load->config('common');
        $common_config = $this->config->item('common');
        $pic_verify_code = $common_config['pic_verify_code'];
        $code = func::getRandCode($pic_verify_code);
        //创建图片,定义颜色值
        $im = imagecreate($w, $h);
        $black = imagecolorallocate($im,90,90,90);
        $gray = imagecolorallocate($im, 189,252,201);
        $bgcolor = imagecolorallocate($im, 255, 255, 255);
        //填充背景
        imagefill($im, 0, 0, $gray);

        //画边框
        imagerectangle($im, 0, 0, $w-1, $h-1, $black);

        //随机绘制两条虚线,起干扰作用
        $style = array ($black,$black,$black,$black,$black,
            $gray,$gray,$gray,$gray,$gray
        );
        imagesetstyle($im, $style);
        $y1 = rand(0, $h);
        $y2 = rand(0, $h);
        $y3 = rand(0, $h);
        $y4 = rand(0, $h);
        imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED);
        imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED);

        //在画布上随机生成大量黑点,起干扰作用
        for ($i = 0; $i </code>

那么问题来了,怎么把这个图片存到我的服务器上面呢?

回复内容:

如代码GD生成了图片$im:


<code>   public function generateCode(){
        $w = 50;
        $h = 20;
        $this->load->config('common');
        $common_config = $this->config->item('common');
        $pic_verify_code = $common_config['pic_verify_code'];
        $code = func::getRandCode($pic_verify_code);
        //创建图片,定义颜色值
        $im = imagecreate($w, $h);
        $black = imagecolorallocate($im,90,90,90);
        $gray = imagecolorallocate($im, 189,252,201);
        $bgcolor = imagecolorallocate($im, 255, 255, 255);
        //填充背景
        imagefill($im, 0, 0, $gray);

        //画边框
        imagerectangle($im, 0, 0, $w-1, $h-1, $black);

        //随机绘制两条虚线,起干扰作用
        $style = array ($black,$black,$black,$black,$black,
            $gray,$gray,$gray,$gray,$gray
        );
        imagesetstyle($im, $style);
        $y1 = rand(0, $h);
        $y2 = rand(0, $h);
        $y3 = rand(0, $h);
        $y4 = rand(0, $h);
        imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED);
        imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED);

        //在画布上随机生成大量黑点,起干扰作用
        for ($i = 0; $i </code>

那么问题来了,怎么把这个图片存到我的服务器上面呢?

write to file ,e. fwite()

<code>imagepng($im,'pic.png');</code>

验证码直接发给客户端不就好了,保存起来干嘛;
xxx.php直接:
imagepng($im);
登陆那里怎么把验证码的图片存起来

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn