Verifizierungscode ist eine Funktion, die wir häufig bei der Entwicklung verwenden. Daher habe ich hier eine Verifizierungscode-Klasse gepackt, die als PHP-Klassen-Plugin verwendet werden soll. Ich möchte sie mit allen Lesern teilen.
Das Prinzip der Implementierung ist auch sehr einfach. Es besteht darin, mehrere Funktionen der Leinwand zu nutzen und einige Zeichenfolgen zu erfassen und alles zusammenzufügen, haha.
Lassen Sie mich hier kurz meine Gedanken niederschreiben. Tatsächlich wurde dieser Kurs sehr klar kommentiert, aber ich möchte mich vor dem Schreiben dennoch wortreich äußern.
Zunächst die Erklärung einiger Funktionen. Die Erklärung hier ist rein persönliche Erfahrung. Wenn es Fehler gibt, korrigieren Sie mich bitte.
1. Funktion „Leinwand erstellen“: imagecreatetruecolor(w,h);
Beschreibung: Wird zum Erstellen einer Leinwand verwendet.
w Die Breite der Leinwand
h Die Höhe der Leinwand
Der Rückgabewert dieser Funktion Ressourcenklasse (gd)
2. Erstellen Sie für die Leinwand eine Farbe: imagecolorallocate(img, red, green, blue)
Beschreibung:
img-Canvas-Ressource
rot, grün, blau ist 0~255 Bereich
3. Hintergrundfarbe zur Leinwand hinzufügen
imagefill(img,x,y,color);
Beschreibung:
In den Bildkoordinaten sind y2, Farbe);
Erläuterung: Die Koordinaten seiner oberen linken Ecke sind x1, y1 und die Koordinaten seiner unteren rechten Ecke sind x2, y2. Die obere linke Ecke des Bildes hat die Koordinaten 0, 0.
3. Zeicheninhalt (Zeichen)Bildzeichenfolge (Bild, Größe, x, y, Zeichenfolge, Farbe);
Beschreibung: img Canvas
Größe ist die Zeichengröße 1 bis 5
x, y ist der Startpunkt
Zeichenfolge ist der zu zeichnende Inhalt
Farbe Es ist die Farbe
4. Teilen Sie dem Browser das Bildformat mitHeader("Content-type:image/png"); gif usw.
5. Ausgabe (oder Speichern), Sie können auch den zweiten Parameter zum Speichern von
Imagepng(img【,filename】)
verwendenImagejpeg(img【 ,filename]) Imagegif(img【,filename】)
6. Fügen Sie Interferenzlinien hinzu, bei denen es sich im Wesentlichen um gerade Linien handeltimageline(img,x1 ,y1,x2,y2,color);
img Canvas 🎜> Farbfarbe
7. imagettftext ( img, Größe, Winkel, x, y, Farbe, Schriftartdatei, Text)Beschreibung:
img-Leinwand
Größe der Schriftgröße, Standardeinheit Pixel
Winkel Winkel
x,y-Koordinatenpunkt Farbe Farbe
Schriftartdatei Schriftartdateien müssen chinesische Schriftarten sein
Textinhalt
Besonderer Hinweis: Die Farbparameter hier sind alle Farben, die von der Funktion imagecolorallocate() erstellt wurden
Folgendes ist die Idee:
Hier wird zuerst die Leinwand generiert und dann Strings, gerade Linien , Rauschpunkte und Ränder werden zur Leinwand hinzugefügt, um Verifizierungscodes zu generieren. Schließlich sind die beiden von der Klasse zurückgegebenen öffentlichen Schnittstellen: Canvas zum Generieren von Verifizierungscodes, die außerhalb aufgerufen werden können, und Die Zeichenfolgenzusammensetzung des Verifizierungscodes dient zur Ausgabe der Verifizierungscode-Canvas an die Außenwelt weitergeben und die Zeichenfolge zur Verifizierung speichern
Das Folgende ist der Code:
Endlich der Reihe nach Um andere nicht in die Irre zu führen, möchte ich es noch einmal betonen:Hier müssen Sie zuerst die Eingabe verwenden, um den Bestätigungscode zu generieren, und dann die Überprüfung verwenden, um die Bestätigungscodezeichenfolge zu generieren. Das heißt, die Eingabe muss zuerst aufgerufen werden Verify kann aufgerufen werden, um eine Bestätigungscodezeichenfolge zu generieren. Da die Bestätigungscodezeichenfolge in der captchaImage-Methode der Eingabemethode generiert wird, muss sie an einigen Stellen zuerst aufgerufen werden. Hoch, daher unterstützen einige Orte keine chinesischen Bestätigungscodes
Weitere Artikel zu PHP-gekapselten Bestätigungscodes finden Sie auf der chinesischen PHP-Website!