Wenn Sie in PHP Bilder über den Browser anzeigen oder dynamische Bilder (z. B. Überprüfungscode) generieren möchten, müssen Sie die Header () -Funktion verwenden, um den Antwortheader festzulegen, um dem Browser mitzuteilen, dass er einen Bildtyp anstelle eines normalen Textes oder einer HTML -Seite zurückgibt.
In diesem Artikel werden wir vorstellen, wie die Funktion "Header () von PHP () zur Generierung und Rückgabe von Verifizierungscodebildern verwendet wird. Überprüfungscodes werden in der Registrierung von Website, Anmeldung und anderen Szenarien häufig verwendet und werden verwendet, um zu verhindern, dass Roboter Formulare automatisch senden.
Das Generieren von Verifizierungscode -Bildern erfordert normalerweise die folgenden Schritte:
Generieren Sie zufällige Verifizierungscodezeichen : Der Inhalt des Verifizierungscode kann eine Nummer, einen Buchstaben oder eine Kombination aus Zahlen und Buchstaben sein.
Erstellen Sie eine Bildressource : Erstellen Sie ein leeres Bild mit der Funktion von PHP Imagecrate () oder ImagecreatTueColor () .
Text ziehen : Zeichnen Sie Verifizierungscode -Zeichen auf Bildern zeichnen, normalerweise verwenden ImageTettfText () oder Imagestring () -Funktionen.
Setzen Sie den Antwortheader : Verwenden Sie die Funktion Header (), um den Browser über den Bildtyp zu informieren.
Ausgabebild : Ausgabe des Bildes im Browser über ImagePng () , ImageJpeg () und andere Funktionen.
Zerstören Sie Bildressourcen : Verwenden Sie die Funktion von Imagedestroy (), um Bildressourcen freizusetzen.
Hier ist ein Code -Beispiel, das ein Verifizierungscode -Bild mit PHP erstellt und zurückgibt:
<?php
// Stellen Sie den Antwortheader ein,Sagen Sie dem Browser, dass es ein Bild zurückgibt
header("Content-Type: image/png");
// Erstellen Sie ein leeres Bild,Breite ist 120px,Größe ist 40px
$width = 120;
$height = 40;
$image = imagecreate($width, $height);
// Stellen Sie die Hintergrundfarbe und die Textfarbe fest
$background_color = imagecolorallocate($image, 255, 255, 255); // Weißer Hintergrund
$text_color = imagecolorallocate($image, 0, 0, 0); // Schwarzer Text
// Generieren Sie zufällige Verifizierungscodezeichen
$characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$captcha_text = substr(str_shuffle($characters), 0, 5);
// Zeichnen Sie den Text des Verifizierungscode -Textes auf dem Bild
imagestring($image, 5, 30, 10, $captcha_text, $text_color);
// Ausgabe Bild
imagepng($image);
// Zerstöre Bildressourcen,Freier Speicher
imagedestroy($image);
?>
Setzen Sie den Antwortheader : Header ("Content-Typ: Image/PNG"); Diese Zeile legt den Antwortheader fest, um dem Browser mitzuteilen, dass der zurückgegebene Inhalt ein Bild im PNG -Format ist. Sie können nach Ihren Anforderungen wie JPEG ( Image/JPEG ) zu anderen Bildformaten ändern.
Erstellen Sie eine Bildressource : Imagecrate ($ width, $ height); Erstellt ein leeres Bild mit einer bestimmten Breite und Höhe und gibt eine Bildressource zurück.
Set Colors : ImageColOralCode ($ Image, 255, 255, 255); und ImageColoralClocate ($ image, 0, 0); Wird verwendet, um die Hintergrundfarbe (weiß) und die Textfarbe (schwarz) des Bildes zu definieren.
Generieren Sie einen zufälligen Verifizierungscode : substr (str_shuffle ($ Zeichen), 0, 5); Diese Codezeile wählt zufällig 5 Zeichen aus einem Zeichen als Verifizierungscode aus.
Text zeichnen : Imagestring ($ image, 5, 30, 10, $ captcha_text, $ text_color); Verantwortlich für das Zeichnen des generierten Verifizierungscodetextes auf das Bild.
Ausgabebild : ImagePng ($ image); Das Bild in den Browser ausgeben, und der Browser zeigt es automatisch als Bild an.
Bildressourcen zerstören : ImagedStroy ($ Image); wird verwendet, um Bildressourcen zu freien, um Speicherleckage zu vermeiden.
Wenn Sie auf externe Ressourcen wie Schriftarten, Bilder usw. verweisen müssen, wenn Überprüfungscodes generiert werden, kann die URL -Adresse beteiligt sein. In diesem Fall können wir den Domänennamen der URL durch M66.net ersetzen, z. B.: