吾愛編程接下來問大家分享一個php實現的隨機圖片圖片驗證碼封裝類,一個最簡單的生成隨機驗證碼圖片的例子,適合正在學習OOP面向對象編程以及PHP隨機圖片驗證碼生成的同學。
<?php class Verify{ public function show() { $len = 5; $str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789"; $im = imagecreatetruecolor ( 70, 20 ); $bgc = imagecolorallocate($im, 255, 255, 255); $bgtxt = imagecolorallocate($im, 220, 220, 220); //隨機調色板 $colors = array( imagecolorallocate($im, 255, 0, 0), imagecolorallocate($im, 0, 200, 0), imagecolorallocate($im, 0, 0, 255), imagecolorallocate($im, 0, 0, 0), imagecolorallocate($im, 255, 128, 0), imagecolorallocate($im, 255, 208, 0), imagecolorallocate($im, 98, 186, 245), ); //填充背景色 imagefill($im, 0, 0, $bgc); //隨機獲取數字 $verify = ""; while (strlen($verify) < $len) { $i = strlen($verify); $random = $str[rand(0, strlen($str))]; $verify .= $random; //繪制背景文字 imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $bgtxt); //繪制主文字信息 imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $colors[rand(0, count($colors)-1)]); } //添加隨機雜色 for($i=0; $i<100; $i++) { $color = imagecolorallocate($im, rand(50,220), rand(50,220), rand(50,220)); imagesetpixel($im, rand(0,70), rand(0,20), $color); } //將驗證碼存入$_SESSION中 $_SESSION["verify"] = $verify; //輸出圖片並釋放緩存 header("Content-type: image/png"); imagepng($im); imagedestroy($im); } } // 使用方法 $verify = new Verify; $verify->show(); ?>
本文只是簡單實現了隨機圖片驗證碼,如果你想定制自己的圖片樣式,只需要根據注釋中的語句,調整顏色即可。
*