PHP image verification code generation
This article is mainly for everyone to detail This article introduces the generation code of PHP image verification code, which has certain reference value. Interested friends can refer to it
The example in this article shares a generated image verification code encapsulated in PHP for your reference. The specific content is as follows
1. Code
index..php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js+GD2函数制作无刷新验证码</title> <link rel="stylesheet" type="text/css" href="css/style.css" rel="external nofollow" > </head> <body> <p style="width: 750px; border: 1px solid #0D6C8C; text-align: left"> <p style="width:100%; height:25px; border:1px #FFFFFF solid; background:url(img/t-background.gif); color:#FFFFFF; padding-top:5px; padding-left:20px; text-align:left">填写用户注册信息</p> <p style="width:400px; text-align:left; padding-left:50px; padding-top:15px; float:left"> <script language="javascript"> function chkinput(form) { if (form.username.value==''){ alert('请输入用户名!'); form.username.focus(); return false; } if (form.password.value==''){ alert('请输入注册密码!'); form.password.focus(); return false; } if (form.defPassword.value==''){ alert('请输入确认密码!'); form.defPassword.focus(); return false; } if (form.password.value.length<6){ alert('密码长度应大于6位!'); form.password.focus(); return false; } if (form.password.value!=form.defPassword.value){ alert('密码与确认密码不同!'); form.password.focus(); return false; } if (form . email . value == "") { alert("请输入E-mail地址!"); form . email . select(); return (false); } var i= form . email . value . indexOf("@"); if (i < 0) { alert("请输入正确的E-mail地址!"); form . email . select(); return (false); } if (form . tel . value == "") { alert('请输入电话号码!'); form . tel . focus(); return (false); } var t=/^([0-9]|[\-])+$/g; if (! t . test(form . tel . value) || form . tel . value . length > 18 || form . tel . value . length < 7) { alert('电话格式输入有误!'); form . tel . focus(); return (false); } if (form.address.value==''){ alert('请输入联系地址!'); form.address.focus(); return false; } if (form.validatorCode.value==''){ alert('请输入验证码!'); form.validatorCode.focus(); return false; } if (form.validatorCode.value!=form.defValidatorCode.value) { alert('验证码输入有误!'); form.validatorCode.focus(); return false; } return true; } </script> <form name="form1" method="post" action="success.php" onSubmit="return chkinput(this)"> 用户名: <input type="text" name="username" size="30" class="input" /><br><br> 密 码: <input type="password" name="password" size="30" class="input" /><br><br> 确认密码:<input type="password" name="defPassword" size="30" class="input"><br><br> E-mail: <input type="text" name="email" size="30" class="input" /><br><br> 电话: <input type="text" name="tel" size="30" class="input" /><br><br> 联系地址:<input type="text" name="address" size="30" class="input" /><br><br> 验证码: <input type="text" name="validatorCode" size="10" class="input" /> <input type="hidden" name="defValidatorCode" value="" /> <script language="javascript"> var num1=Math.round(Math.random()*10000000); var num=num1.toString().substr(0,4); document.write("<img name=codeimg src='TestCode.php?code="+num+"'>"); form1.defValidatorCode.value=num; function reCode(){ var num1=Math.round(Math.random()*10000000); var num=num1.toString().substr(0,4); document.codeimg.src="TestCode.php?code="+num; form1.defValidatorCode.value=num; } </script> <a href="javascript:reCode()" rel="external nofollow" class="a1">看不清</a> <br><br> <input type="submit" value="提交"> <input type="reset" value=" 重写"> </form> </p> <p style="width:300px; float:right; padding-top:20px"> <p style="width:285px; height:250px; border:1px dotted #999999; background:#E9F2F7; OVERFLOW-X: auto; OVERFLOW-Y:auto; text-align:left; line-height:20px"> 用户在使用***网站网络服务过程中,必须遵循以下原则:<br /> 1、遵守中国有关的法律和法规。不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益。不得利用***网站网络服务系统进行任何不利于***网站的行为。<br /> 2、遵守所有与网络服务有关的网络协议、规定和程序。<br /> 3、不干扰或混乱网络服务。<br /> 4、不得为任何非法目的而使用本网络服务系统。<br /> 5、不得传播任何虚假的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、庸俗的或其他任何非法的信息资料。<br /> 6、不得侵犯其他任何第三方的专利权、著作权、商标权、名誉权或其他任何合法权益。<br /> 7、不得在论坛BBS或留言簿发表任何与政治相关的信息。 <br /> 8、遵守所有使用网站服务的网络协议、规定、程序和惯例。<br /> 9、如发现任何非法使用用户帐号,应立即通告***网站。<br /> 10、如用户在使用网络服务时违反上述任何规定,***网站有权要求用户改正或直接取消该帐号并停止为该用户提供相关的网络服务。<br /> </p> </p> </p> <?php require_once 'footer.php'; ?> </body> </html>
TestCode.php
<?php class TestCode{//创建类名为TestCode private $width; private $height; private $str; private $im; private $strColor; function construct($width,$height){ $this->width=$width; $this->height=$height; $this->str=$_GET['code']; $this->createImage(); } function createImage(){ $this->im=imagecreate($this->width,$this->height);//创建画布 imagecolorallocate($this->im,200,200,200);//为画布添加颜色 for($i=0;$i<4;$i++){//循环输出四个数字 $this->strColor=imagecolorallocate($this->im,rand(0,100),rand(0,100),rand(0,100)); imagestring($this->im,rand(3,5),$this->width/4*$i+rand(5,10),rand(2,5),$this->str[$i],$this->strColor); } for($i=0;$i<200;$i++){//循环输出200个像素点 $this->strColor=imagecolorallocate($this->im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($this->im,rand(0,$this->width),rand(0,$this->height),$this->strColor); } } function show(){// header('content-type:image/png');//定义输出为图像类型 imagepng($this->im);//生成图像 imagedestroy($this->im);//销毁图像释放内存 } } $image=new TestCode(80,20);//将类实例化为对象 $image->show();//调用函数 ?>
2. Running results
The above is the entire content of this article. I hope it will be helpful to everyone’s study. I also hope that everyone will support Script House. .
The above is the detailed content of PHP image verification code generation. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

In PHP8, match expressions are a new control structure that returns different results based on the value of the expression. 1) It is similar to a switch statement, but returns a value instead of an execution statement block. 2) The match expression is strictly compared (===), which improves security. 3) It avoids possible break omissions in switch statements and enhances the simplicity and readability of the code.
