Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-gekapselte Verifizierungscodeklasse

PHP-gekapselte Verifizierungscodeklasse

高洛峰
高洛峰Original
2017-02-28 15:14:541054Durchsuche

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 mit

Header("Content-type:image/png"); gif usw.

5. Ausgabe (oder Speichern), Sie können auch den zweiten Parameter zum Speichern von

Imagepng(img【,filename】)

verwenden

Imagejpeg(img【 ,filename]) Imagegif(img【,filename】)

6. Fügen Sie Interferenzlinien hinzu, bei denen es sich im Wesentlichen um gerade Linien handelt

imageline(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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Reflection-API für PHPNächster Artikel:Reflection-API für PHP