php生成图片验证码_php技巧
先给看下 大致的效果
那么接下来的就直接贴代码吧
<?php $image = imagecreatetruecolor(100, 30); //创建画布 $imagecolor = imagecolorallocate($image, 255, 255, 255); //背景色 imagefill($image, 0, 0, $imagecolor); //填充背景色 for($i=0;$i<4;$i++ ){ //循环4位数 $fontsize = 6; $fontcolor = imagecolorallocate($image, 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++ ){ //循环 添加干扰点 $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++){ //循环 添加干扰线 $linecolor = imagecolorallocate($image, rand(100, 250), rand(100, 250), rand(100, 250)); $x1 = rand(1, 25); $x2 = rand(50, 75); $y1 = rand(1, 15); $y2 = rand(15, 25); imageline($image, $x1, $y1, $x2, $y2, $linecolor); } header("content-type:image/png"); imagepng($image); imagedestroy($image); ?>
再给大家分享一个可以生成中文验证码
<?php //1.qi启用gd库GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 // 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。 session_start(); // 把GBK编码的字符串转换成UTF-8字符串,第一个参数之所以写GBK,是因为本php文件在主机中存储的编码是GBK编码 // UTF-8编码浏览器普遍支持,通用性强,这里就转换成UTF-8 $str = iconv("GBK", "utf-8", "芸芸众生绿水青山名胜古迹敞开心胸便会云蒸霞蔚快乐将永远伴随着你"); if(!is_string($str) || !mb_check_encoding($str,"utf-8")) { exit("不是字符串或者不是utf-8"); } $zhongwenku_size; // 按UTF-8编码方式获取字符串的长度 $zhongwenku_size = mb_strlen($str,"UTF-8"); // 把上述字符导入数组中 $zhongwenku = array(); for( $i=0; $i<$zhongwenku_size; $i++) { $zhongwenku[$i] = mb_substr($str, $i,1,"UTF-8"); } $result = ""; // 图片上要写入的四个字符 for($i=0; $i<4; $i++) { switch (rand(0, 1)) { case 0: $result.=$zhongwenku[rand(0, $zhongwenku_size-1)]; break; case 1: $result.=dechex(rand(0,15)); break; } } $_SESSION["check"] = $result; // 创建一个真彩图片 宽100,高30 $img = imagecreatetruecolor(100, 30); // 分配背景颜色 $bg = imagecolorallocate($img, 0, 0, 0); // 分配文字颜色 $te = imagecolorallocate($img, 255,255,255); // 在图片上写字符串 //imagestring($img, rand(3,8), rand(1,70), rand(1,10), $result, $te); // 在图片上根据载入字体可以写出特殊字体 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)); // 画线 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)); // 为图片添加噪点 for($i=0; $i<200; $i++) { imagesetpixel($img, rand(1, 100), rand(1, 30), $t); } // 发送http头信息 指定本次发送的是image中的jpeg header("Content-type: image/jpeg"); // 输出jpeg图片至浏览器 imagejpeg($img); ?>
再来一个实例吧
<?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; } //随机生成的字符串 $str = random(4); //验证码图片的宽度 $width = 50; //验证码图片的高度 $height = 25; //声明需要创建的图层的图片格式 @ header("Content-Type:image/png"); //创建一个图层 $im = imagecreate($width, $height); //背景色 $back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF); //模糊点颜色 $pix = imagecolorallocate($im, 187, 230, 247); //字体色 $font = imagecolorallocate($im, 41, 163, 238); //绘模糊作用的点 mt_srand(); for ($i = 0; $i < 1000; $i++) { imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix); } //输出字符 imagestring($im, 5, 7, 5, $str, $font); //输出矩形 imagerectangle($im, 0, 0, $width -1, $height -1, $font); //输出图片 imagepng($im); imagedestroy($im); $str = md5($str); //选择 cookie //SetCookie("verification", $str, time() + 7200, "/"); //选择 Session $_SESSION["verification"] = $str; ?>
接下来只要在页面中调用就可以了:
<img src="/static/imghw/default1.png" data-src="/images/checkcode.php?" class="lazy" id="checkpic" onclick="changing();" / alt="php生成图片验证码_php技巧" >
如果想实现 "看不清?换一张" 效果,添加如下 JS 到页面中
function changing(){ document.getElementById('checkpic').+Math.random(); }
以上所述就是本文的全部内容了,希望大家能够喜欢。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
