php學習筆記:利用gd庫生成圖片,並實現隨機驗證碼

說明:一些基本的代碼我都進行了註釋,這裏實現的驗證碼位數、須要用的字符串均可以再設置。有個人註釋,你們應該很容易能看得懂。php

基本思路:瀏覽器

     1.用mt_rand()隨機生成數字肯定須要獲取的字符串,對字符串進行拼接(以爲生成的驗證碼以爲有點太擠,你們能夠再字符串中間拼接個空格鍵),實現隨機驗證碼;spa

     備註:建議你們用mt_rand(),而不是rand(),前者效率更高code

     2.利用gd庫生成圖片,把隨機字符串寫到圖片輸出。blog

效果:圖片

每次刷新,都生成一個隨機驗證,後期我可能還會補充怎麼實現隨機碼點擊圖片就再次更新資源

 

代碼:字符串

 

<?php // 建立畫布
$width = 120;   // 規定畫布的寬高
$height = 45; $image = imagecreatetruecolor($width, $height);  // 建立一幅真彩色圖像 // 添加一些即將用到的顏色
$white = imagecolorallocate($image, 0xf2, 0xec, 0xe0); $orange = imagecolorallocate($image, 0xff, 0xa5, 0x4c); // 對畫布背景填充顏色
imagefill($image, 0, 0, $white); //mt_rand 獲取隨機數 mt_rand(min, max);
    function str_rand(){ $str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ"; $rand=""; for($i=0; $i<5; $i++){//獲取5個隨機的字符串
            $rand .= $str[mt_rand(0, strlen($str)-1)];  //如:隨機數爲30 則:$str[30]
 } return $rand; } $verifyCode=str_rand(); // 畫一串字符串在畫布上
imagestring($image, 10, 10, 10, "$verifyCode", $orange); // 通知瀏覽器輸出的是圖像(png類型)
header('Content-Type: image/png'); // 輸出到瀏覽器
imagepng($image); // 釋放圖像資源
相關文章
相關標籤/搜索