Maison >développement back-end >tutoriel php >PHP génère des codes de vérification avec des chiffres spécifiés et des éléments d'interférence contrôlables
Cet article présente le contenu de PHP pour générer un code de vérification de chiffres spécifié et des éléments d'interférence contrôlables. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer. Code de vérification et encapsulé dans une fonction, nom de fichier : buildVerifyCode.func.php
//range('a','z')将括号中的内容作为键值生成一个索引数组 //array_merge($array1,$array2)合并两个数组中的键值,生成新索引数组 //array_flip()将括号中的内容,键名与键值对换 //array_rand($array,$length)随机取出$array中$length长度的键名作为新数组的键值,生成一个索引数组 //join('',$array)以空连接数组中的值,以数组的内容生成字符串
<?php function buildVerifyCode($type=2,$length=4){ switch ($type) { case 0: $string=join('',array_rand(range(0,9),$length)); break; case 1: $string=join('',array_rand(array_flip(array_merge(range('a','z'),range('A','Z'))),$length)); break; case 2: $string=join('',array_rand(array_flip(array_merge(range('a','z'),range('A','Z'),range(0,9))),$length)); break; } return $string; }
Tester si le code de vérification généré est correct, nom de fichier : getCode .php
<?php require 'buildVerifyCode.func.php'; echo buildVerifyCode(); // $fontfiles=['msyh.ttc','msyhbd.ttc','msyhl.ttc','simsun.ttc','Sitka.ttc']; // $fontfile=$fontfiles[mt_rand(0,count($fontfiles)-1)]; // var_dump($fontfile);Recommandations associées :
<?php $width=100; $height=30; //创建画布,默认底色黑色,rgb0,0,0 $image=imagecreatetruecolor($width,$height); //创建白色,方便覆盖画布 $white=imagecolorallocate($image,255,255,255); //创建白色矩形覆盖原始画布 imagefilledrectangle($image,1,1,$width-2,$height-2,$white); require 'buildVerifyCode.func.php'; $type=2; $length=4; $verifyCode=buildVerifyCode($type,$length); for($i=0;$i<$length;$i++){ $color=imagecolorallocate($image,mt_rand(50,90),mt_rand(80,200),mt_rand(90,150)); $size=mt_rand(14,16); $angle=mt_rand(-15,15); $x=($i*100/5)+$size; $y=mt_rand(20,25); $fontfiles=['msyh.ttc','msyhbd.ttc','msyhl.ttc','simsun.ttc','Sitka.ttc']; $fontfile="../fonts/".$fontfiles[mt_rand(0,count($fontfiles)-1)]; $text=substr($verifyCode,$i,1); imagettftext($image,$size,$angle,$x,$y,$color,$fontfile,$text); } $pixel=120; if($pixel){ $pixelcolor=imagecolorallocate($image,mt_rand(150,170),mt_rand(100,140),mt_rand(90,160)); for($i=0;$i<$pixel;$i++){ imagesetpixel($image,mt_rand(0,$width-1),mt_rand(0,$height-1),$pixelcolor); } } $line=4; if($line){ for($i=0;$i<$line;$i++){ imageline($image,mt_rand(0,$width-1),mt_rand(0,$height-1),mt_rand(0,$width-1),mt_rand(0,$height-1),$pixelcolor); } } header('content-type:image/png'); imagepng($image); imagedestroy($image);
PHP génère un fichier WordPHP génère de la voix
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!