Maison  >  Article  >  développement back-end  >  Classe de code de vérification encapsulée PHP

Classe de code de vérification encapsulée PHP

高洛峰
高洛峰original
2017-02-28 15:14:541055parcourir

Le code de vérification est une fonction que nous utilisons souvent lors du développement, j'ai donc emballé ici une classe de code de vérification, qui doit être utilisée comme plug-in de classe PHP. J'aimerais la partager avec tous les lecteurs.

Le principe de mise en œuvre est également très simple. Il s'agit d'utiliser plusieurs fonctions de la toile, plus l'acquisition de quelques ficelles, et de reconstituer le tout, haha.

Permettez-moi d'écrire brièvement mes réflexions ici. En fait, ce cours a été commenté très clairement, mais je veux quand même être verbeux avant d'écrire.

Tout d'abord, l'explication de certaines fonctions. L'explication ici est une expérience purement personnelle. S'il y a des erreurs, veuillez me corriger.

1. Fonction de création de canevas : imagecreatetruecolor(w,h);

Description : Utilisé pour créer un canevas.

 w La largeur du canevas

 h La hauteur du canevas

 La valeur de retour de cette fonction Classe de ressources (gd)

2. Créer pour le canevas Une couleur : imagecolorallocate(img, rouge, vert, bleu)

Description :

ressource de canevas img

rouge, vert, bleu est compris entre 0 et 255

3. Ajoutez une couleur d'arrière-plan au canevas

imagefill(img,x,y,color);

Description :

Dans les coordonnées de l'image, y2, couleur);

Explication : Les coordonnées de son coin supérieur gauche sont x1, y1, et les coordonnées de son coin inférieur droit sont x2, y2. Le coin supérieur gauche de l'image a les coordonnées 0, 0.

3. Contenu du dessin (caractères)

chaîne d'images (img, taille, x, y, chaîne, couleur

Description : img canvas

size est la taille des caractères 1 à 5

x, y est le point de départ

string est le contenu à dessiner

color C'est la couleur

4. Indiquez au navigateur le format de l'image

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

5. Sortie (ou enregistrer), vous pouvez également utiliser le deuxième paramètre pour enregistrer

Imagepng(img【,filename】)

imagejpeg(img【 ,filename])

Imagegif(img【,filename】)

6. Ajoutez des lignes d'interférence, qui sont essentiellement des lignes droites

imageline(img,x1 ,y1,x2,y2,color);

                    img    toile

      🎜> Couleur couleur

7. imagettftext ( img, taille, angle, x, y, couleur, fichier de police, texte)

Description :

toile img

taille taille de la police, pixels unitaires par défaut

angle angle

point de coordonnées x,y

couleur couleur

fichier de police Le fichier de police doit être une police chinoise

Contenu du texte

Note spéciale : les paramètres de couleur ici sont toutes les couleurs créées par la fonction imagecolorallocate()

Voici l'idée :

Le canevas est d'abord généré ici, puis des chaînes, des lignes droites , des points de bruit et des bordures sont ajoutés au canevas pour générer le code de vérification. Enfin, les deux interfaces publiques renvoyées par la classe sont : le canevas qui peut être appelé à l'extérieur pour générer le code de vérification et le but de la composition de chaîne du. Le code de vérification consiste à envoyer le canevas du code de vérification au monde extérieur et à stocker la chaîne pour vérification

Voici le code :

Enfin, afin de ne pas induire les autres en erreur, permettez-moi de le souligner encore une fois :

Ici, vous devez d'abord utiliser l'entrée pour générer le code de vérification, puis utiliser verify pour générer la chaîne du code de vérification. être appelé en premier, puis Verify peut être appelé pour générer une chaîne de code de vérification. Le code de raison a déjà expliqué le problème. Parce que la chaîne de code de vérification est générée dans la méthode captchaImage de la méthode d'entrée, elle doit être appelée en premier. nécessite une comparaison des polices chinoises. Élevé, donc certains endroits ne prennent pas en charge les codes de vérification chinois

Pour plus d'articles liés aux codes de vérification encapsulés PHP, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:API de réflexion pour PHPArticle suivant:API de réflexion pour PHP