Hinweis: Ich habe einige grundlegende Codes kommentiert. Die Anzahl der hier implementierten Bestätigungscode-Ziffern und die erforderlichen Zeichenfolgen können erneut festgelegt werden. Mit meinen Anmerkungen soll es für jeden leicht verständlich sein.
Grundidee:
1. Verwenden Sie mt_rand(), um zufällig Zahlen zu generieren, um die Zeichenfolge zu bestimmen, die abgerufen werden muss, und verbinden Sie die Zeichenfolgen (ich habe das Gefühl, dass der generierte Bestätigungscode etwas ist zu voll, können Sie es erneut versuchen (Fügen Sie eine Leertaste in die Mitte der Zeichenfolge ein), um einen zufälligen Bestätigungscode zu implementieren
Hinweis: Es wird empfohlen, mt_rand() anstelle von rand() zu verwenden ist effizienter
2. Verwenden Sie die gd-Bibliothek. Erzeugen Sie ein Bild und schreiben Sie eine zufällige Zeichenfolge in die Bildausgabe.
Effekt:
Jedes Mal, wenn es aktualisiert wird, wird eine zufällige Überprüfung generiert. Später werde ich möglicherweise hinzufügen, wie Zufallscode implementiert wird Klicks Das Bild wird erneut aktualisiert
Code:
<?php // 创建画布 $width = 120; // 规定画布的宽高 $height = 45; $image = imagecreatetruecolor($width, $height); // 创建一幅真彩色图像 // 添加一些即将用到的颜色 $white = imagecolorallocate($image, 0xf2, 0xec, 0xe0); $orange = imagecolorallocate($image, 0xff, 0xa5, 0x4c); // 对画布背景填充颜色 imagefill($image, 0, 0, $white); //mt_rand 获取随机数 mt_rand(min, max); function str_rand(){ $str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ"; $rand=""; for($i=0; $i<5; $i++){//获取5个随机的字符串 $rand .= $str[mt_rand(0, strlen($str)-1)]; //如:随机数为30 则:$str[30] } return $rand; } $verifyCode=str_rand(); // 画一串字符串在画布上 imagestring($image, 10, 10, 10, "$verifyCode", $orange); // 通知浏览器输出的是图像(png类型) header('Content-Type: image/png'); // 输出到浏览器 imagepng($image); // 释放图像资源