Php generates an image verification code,

Source: Internet
Author: User

Php generates an image verification code,

First, let's take a look at the general effect.

Then, paste the Code directly.

<? Php $ image = imagecreatetruecolor (100, 30); // create a canvas $ imagecolor = imagecolorallocate ($ image, 255,255,255); // background color imagefill ($ image, 0, 0, $ imagecolor); // fill in the background color for ($ I = 0; $ I <4; $ I ++) {// loop 4 digits $ fontsize = 6; $ fontcolor = imagecolorallocate ($ images, rand (0,200), rand (0,200), rand (0,200); $ fontcontent = rand (0, 9 ); $ x = $ I * 100/4 + rand (5, 15); $ y = rand (5, 10); imagestring ($ image, $ fontsize, $ x, $ y, $ Fontcontent, $ fontcolor);} for ($ I = 0; $ I <200; $ I ++) {// Add interference points cyclically $ pointcolor = imagecolorallocate ($ image, rand (50,200), rand (50,200), rand (50,200); $ x = rand (1, 99); $ y = rand (1, 29 ); imagesetpixel ($ image, $ x, $ y, $ pointcolor) ;}for ($ I = 0; $ I <3; $ I ++) {// Add interference lines cyclically $ linecolor = imagecolorallocate ($ image, rand (100,250), rand (100,250), rand (100,250); $ x1 = rand (1, 25); $ x2 = rand (50, 75); $ y1 = r And (1, 15); $ y2 = rand (15, 25); imageline ($ image, $ x1, $ y1, $ x2, $ y2, $ linecolor );} header ("content-type: image/png"); imagepng ($ image); imagedestroy ($ image);?>

I will share with you a Chinese verification code that can be generated.

<? Php // 1. qi enables the gd library of the GD library to provide a series of APIS for image processing. The GD library can be used to process images or generate images. // The GD library on the website is usually used to generate thumbnails, add watermarks to images, or generate reports on website data. Session_start (); // converts a GBK encoded string to a UTF-8 string. The first parameter is written in GBK, is because the PHP file stored in the host encoding is GBK encoding // UTF-8 encoding browser universal support, versatility, here is converted to UTF-8 $ str = iconv ("GBK ", "UTF-8", "all sentient beings, green mountains, scenic spots, and monuments are open to us."); if (! Is_string ($ str) |! Mb_check_encoding ($ str, "UTF-8") {exit ("not a string or UTF-8");} $ zhongwenku_size; // get the length of the string by UTF-8 encoding $ zhongwenku_size = mb_strlen ($ str, "UTF-8"); // import the above character into the array $ zhongwenku = array (); for ($ I = 0; $ I <$ zhongwenku_size; $ I ++) {$ zhongwenku [$ I] = mb_substr ($ str, $ I, 1, "UTF-8") ;}$ result = ""; // four characters to write to the image for ($ I = 0; $ I <4; $ I ++) {switch (rand (0, 1) {case 0: $ result. = $ zhongwenku [rand (0, $ zhongwenku_size-1)]; break; case 1: $ r Esult. = dechex (rand (100); break ;}$ _ SESSION ["check"] = $ result; // create a true color image with a width, height 30 $ img = imagecreatetruecolor (100, 30); // assign the background color $ bg = imagecolorallocate ($ img, 0, 0, 0 ); // assign the text color $ te = imagecolorallocate ($ img, 255,255,255); // write the string on the image // imagestring ($ img, rand (), rand ), rand (), $ result, $ te); // you can write special fonts imagettftext ($ img, 13, rand (2, 9), 20, 20, $ te, "MSYH. TTF ", $ result); $ _ SESSION ["Check"] = $ result; for ($ I = 0; $ I <3; $ I ++) {// $ t = imagecolorallocate ($ img, rand (0,255), rand (0,255), rand (0,255); // draw line imageline ($ img, 0, rand (0, 20), rand (70,100 ), rand (0, 20), $ te) ;}$ t = imagecolorallocate ($ img, rand (0,255), rand (0,255), rand (0,255 )); // Add noise for ($ I = 0; $ I <200; $ I ++) {imagesetpixel ($ img, rand (1,100), rand (1, 30), $ t) ;}// send http header information to specify that the sender header ("Content-type: image/ Jpeg "); // output the jpeg image to the browser imagejpeg ($ img);?>

Let's try another instance.

<? Php session_start (); function random ($ len) {$ srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm"; mt_srand (); $ strs = ""; for ($ I = 0; $ I <$ len; $ I ++) {$ strs. = $ srcstr [mt_rand (0, 30)];} return $ strs;} // randomly generated string $ str = random (4 ); // The width of the Verification Code image $ width = 50; // The height of the Verification Code image $ height = 25; // declare the image format of the layer to be created @ header ("Content-Type: image/png "); // create a layer $ im = imagecreate ($ width, $ height); // background color $ back = imagecolorallocate ($ I M, 0xFF, 0xFF, 0xFF); // blurred dot color $ pix = imagecolorallocate ($ im, 187,230,247); // font color $ font = imagecolorallocate ($ im, 41,163,238 ); // plot the Blur point mt_srand (); for ($ I = 0; $ I <1000; $ I ++) {imagesetpixel ($ im, mt_rand (0, $ width), mt_rand (0, $ height), $ pix);} // output character imagestring ($ im, 5, 7, 5, $ str, $ font ); // output rectangular imagerectangle ($ im, 0, 0, $ width-1, $ height-1, $ font); // output image imagepng ($ im ); imagedestroy ($ im); $ st R = md5 ($ str); // select cookie // SetCookie ("verification", $ str, time () + 7200 ,"/"); // select Session $ _ SESSION ["verification"] = $ str;?>

Next, you just need to call it on the page:

 

If you want to achieve "cannot see clearly? For a different effect, add the following JS to the page.

function changing(){  document.getElementById('checkpic').src="/images/checkcode.php?"+Math.random();} 

The above is all the content of this article. I hope you will like it.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.