程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP生成隨機圖片驗證碼類分享

PHP生成隨機圖片驗證碼類分享

編輯:PHP綜合

吾愛編程接下來問大家分享一個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();
?>

本文只是簡單實現了隨機圖片驗證碼,如果你想定制自己的圖片樣式,只需要根據注釋中的語句,調整顏色即可。

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved