PHP實現驗證碼圖片

來源:互聯網
上載者:User

標籤:des   style   blog   http   io   ar   color   sp   for   

<?php

header("Content-type: image/png");

session_start();

 

$authnum = ‘‘;

$str = ‘abcdefghigklmnopqrstuvwxyz1234567890‘;

$strLength = strlen($str);

for($i=0;$i<=4;$i++)

{

    $num = rand(0, $strLength -1);

    $authnum .= $str[$num];

}

    $_SESSION[‘authnum‘] = $authnum;

    srand((double)microtime()*1000000);

    $im = imagecreate(200, 100);

   

    $gary = imagecolorallocate($im, 200, 200, 100);

    $white = imagecolorallocate($im, 255, 255, 255);

   

    imagefill($im, 10, 5, $gary);

    $li = imagecolorallocate($im, 150, 150, 150);

   

    for($i =0;$i<3;$i++)//繪製三條幹擾線

    {

       imageline($im, rand(0, 20), rand(0, 100), rand(180, 200), rand(0, 100), $li);

       //起點的x盡量靠左邊,y任意,終點盡量靠右邊,y任意

    }

   

    for($i=0;$i<strlen($_SESSION[‘authnum‘]);$i++)//繪製四個字元

    {

       $strcolor= imagecolorallocate($im, mt_rand(0, 100), mt_rand(50, 150), mt_rand(100, 200));

       $fontsize = mt_rand(10, 20);

       $x = mt_rand(1,20)+200*$i/4;

       $y = mt_rand(1, 50);

       imagestring($im, $fontsize, $x, $y, $_SESSION[‘authnum‘][$i], $strcolor);

    }

 

imagepng($im);

imagedestroy($im);

?>

運行效果:

PHP實現驗證碼圖片

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.