A php verification code is carefully crafted. for example, if you have developed a website member logon page using PHP, you must implement the verification code. the verification code picture can be static or dynamic, the text can be Chinese characters, English letters, French letters, and Japanese characters. For example, the verification code Image:
:
Of course it can be modified. it can be implemented only when PHP source code is imported.
The code is as follows:
01.
02. class Imagecode {
03. private $ width;
04. private $ height;
05. private $ counts;
06. private $ distrubcode;
07. private $ fonturl;
08. private $ session;
09. function _ construct ($ width = 120, $ height = 30, $ counts = 5, $ distrubcode = "1235467890 qwertyuipkjhgfdaszxcvbnm", $ fonturl = "C: \ Windows \ Fonts \ TektonPro-BoldCond.otf "){
10. $ this-> width = $ width;
11. $ this-> height = $ height;
12. $ this-> counts = $ counts;
13. $ this-> distrubcode = $ distrubcode;
14. $ this-> fonturl = $ fonturl;
15. $ this-> session = $ this-> sessioncode ();
16. session_start ();
17. $ _ SESSION ['code'] = $ this-> session;
18 .}
19.
20. function imageout (){
21. $ im = $ this-> createimagesource ();
22. $ this-> setbackgroundcolor ($ im );
23. $ this-> set_code ($ im );
24. $ this-> setdistrubecode ($ im );
25. ImageGIF ($ im );
26. ImageDestroy ($ im );
27 .}
28.
29. private function createimagesource (){
30. return imagecreate ($ this-> width, $ this-> height );
31 .}
32. private function setbackgroundcolor ($ im ){
33. $ bgcolor = ImageColorAllocate ($ im, rand (200,255), rand (200,255), rand (200,255); // ± 000000000000° n'hangé «
34. imagefill ($ im, 0, 0, $ bgcolor );
35 .}
36. private function setdistrubecode ($ im ){
37. $ count_h = $ this-> height;
38. $ cou = floor ($ count_h * 2 );
39. for ($ I = 0; $ I <$ cou; $ I ++ ){
40. $ x = rand (0, $ this-> width );
41. $ y = rand (0, $ this-> height );
42. $ jiaodu = rand (0,360 );
43. $ fontsize = rand (8, 15 );
44. $ fonturl = $ this-> fonturl;
45. $ originalcode = $ this-> distrubcode;
46. $ countdistrub = strlen ($ originalcode );
47. $ dscode = $ originalcode [rand (0, $ countdistrub-1)];
48. $ color = ImageColorAllocate ($ im, rand (40,140), rand (40,140), rand (40,140 ));
49. imagettftext ($ im, $ fontsize, $ jiaodu, $ x, $ y, $ color, $ fonturl, $ dscode );
50.
51 .}
52 .}
53. private function set_code ($ im ){
54. $ width = $ this-> width;
55. $ counts = $ this-> counts;
56. $ height = $ this-> height;
57. $ scode = $ this-> session;
58. $ y = floor ($ height/2) + floor ($ height/4 );
59. $ fontsize = rand (30, 35 );
60. $ fonturl = "C: \ Windows \ Fonts \ AdobeGothicStd-Bold.otf"; // $ this-> fonturl;
61.
62. $ counts = $ this-> counts;
63. for ($ I = 0; $ I <$ counts; $ I ++ ){
64. $ char = $ scode [$ I];
65. $ x = floor ($ width/$ counts) * $ I + 8;
66. $ jiaodu = rand (-20, 30 );
67. $ color = ImageColorAllocate ($ im, rand (0, 50), rand (50,100), rand (100,140 ));
68. imagettftext ($ im, $ fontsize, $ jiaodu, $ x, $ y, $ color, $ fonturl, $ char );
69 .}
70.
71.
72.
73 .}
74. private function sessioncode (){
75. $ originalcode = $ this-> distrubcode;
76. $ countdistrub = strlen ($ originalcode );
77. $ _ dscode = "";
78. $ counts = $ this-> counts;
79. for ($ j = 0; $ j <$ counts; $ j ++ ){
80. $ dscode = $ originalcode [rand (0, $ countdistrub-1)];
81. $ _ dscode. = $ dscode;
82 .}
83. return $ _ dscode;
84.
85 .}
86 .}
87. Header ("Content-type: image/GIF ");
88. $ imagecode = new Imagecode (160,50 );
89. $ imagecode-> imageout ();
After writing, open it in the Dreamweaver editor and upload OK.
Do happy!