怎麼把驗證碼的圖片存起來

來源:互聯網
上載者:User
如代碼GD產生了圖片$im:

   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 < 80; $i++) {            imagesetpixel($im, rand(0, $w), rand(0, $h), $black);        }        //將數字隨機顯示在畫布上,字元的水平間距和位置都按一定波動範圍隨機產生        $strx = rand(3, 8);        for ($i = 0; $i < $pic_verify_code; $i++) {            $strpos = rand(1, 6);            imagestring($im, 5, $strx, $strpos, substr($code, $i, 1), $black);            $strx += rand(8, 12);        }

那麼問題來了,怎麼把這個圖片存到我的伺服器上面呢?

回複內容:

如代碼GD產生了圖片$im:

   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 < 80; $i++) {            imagesetpixel($im, rand(0, $w), rand(0, $h), $black);        }        //將數字隨機顯示在畫布上,字元的水平間距和位置都按一定波動範圍隨機產生        $strx = rand(3, 8);        for ($i = 0; $i < $pic_verify_code; $i++) {            $strpos = rand(1, 6);            imagestring($im, 5, $strx, $strpos, substr($code, $i, 1), $black);            $strx += rand(8, 12);        }

那麼問題來了,怎麼把這個圖片存到我的伺服器上面呢?

write to file ,e. fwite()

imagepng($im,'pic.png');

驗證碼直接發給用戶端不就好了,儲存起來幹嘛;
xxx.php直接:
imagepng($im);
登陸那裡

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.