首先,有一個在php.ini看看gd庫是不是開啟的,下一步,我們會考慮每一個細節的圖像生成步驟.
php生成圖片驗證碼實例代碼如下:
- <?php
- //Send a generated image to the browser
- create_image();
- exit();
- function create_image()
- {
- //Let's generate a totally random string using md5
- $md5 = md5(rand(0,999));
- //We don't need a 32 character long string so we trim it down to 5
- $pass = substr($md5, 10, 5);
- //Set the image width and height
- $width = 100;
- $height = 20;
- //Create the image resource
- $image = ImageCreate($width, $height);
- //We are making three colors, white, black and gray
- $white = ImageColorAllocate($image, 255, 255, 255);
- $black = ImageColorAllocate($image, 0, 0, 0);
- $grey = ImageColorAllocate($image, 204, 204, 204);
- //Make the background black
- ImageFill($image, 0, 0, $black);
- //Add randomly generated string in white to the image
- ImageString($image, 3, 30, 3, $pass, $white);
- //Throw in some lines to make it a little bit harder for any bots to
- break
- ImageRectangle($image,0,0,$width-1,$height-1,$grey);
- imageline($image, 0, $height/2, $width, $height/2, $grey);
- imageline($image, $width/2, 0, $width/2, $height, $grey);
- //Tell the browser what kind of file is come in
- header("Content-Type: image/jpeg");
- //開源代碼Vevb.com
- //Output the newly created image in jpeg format
- ImageJpeg($image);
- //Free up resources
- ImageDestroy($image);
- }
- ?>
驗證碼調用方法,代碼如下:
<img height="120" alt="Dynamically generated image" src="generate_image.php" width="200">
新聞熱點
疑難解答