Maison > développement back-end > tutoriel php > PHP implémente le code de vérification des caractères chinois

PHP implémente le code de vérification des caractères chinois

墨辰丷
Libérer: 2023-03-30 19:50:02
original
3139 Les gens l'ont consulté

Cet article présente principalement l'implémentation du code de vérification des caractères chinois en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

De plus en plus de sites Web utilisent désormais des codes de vérification des caractères chinois, ce qui augmente non seulement l'intimité de notre peuple, mais augmente également la difficulté de déchiffrage automatique. Ici, je vais l'expliquer brièvement. . .

Créer un canevas d'arrière-plan

$image = imagecreatetruecolor(200, 60);
$background = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $background);
Copier après la connexion

Dessiner des points d'interférence

for ($i=0; $i < 300; $i++) { 
  $pixColor = imagecolorallocate($image, rand(150, 240), rand(150, 240), rand(150, 240));
  $pixX = rand(10, 190);
  $pixY = rand(5, 55);
  imagesetpixel($image, $pixX, $pixY, $pixColor);
}
Copier après la connexion

Dessiner des lignes d'interférence

//4条水平线
for ($i=0; $i < 5; $i++) { 
  $lineColor = imagecolorallocate($image, rand(50, 150), rand(50, 150), rand(50, 150));
  $lineX1 = 0;
  $lineX2 = 300;
  $lineY1 = ($i + 1) * 12;
  $lineY2 = ($i + 1) * 12;
  imageline($image, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor);
}
//10条垂直线
for ($i=0; $i < 30; $i++) { 
  $lineColor = imagecolorallocate($image, rand(50, 150), rand(50, 150), rand(50, 150));
  $lineX1 = ($i + 1) * 10;
  $lineX2 = ($i + 1) * 10;
  $lineY1 = 0;
  $lineY2 = 60;
  imageline($image, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor);
}
Copier après la connexion

Dessiner des caractères chinois

$text = array(&#39;栀&#39;, &#39;子&#39;, &#39;花&#39;, &#39;开&#39;);
for ($i=0; $i < 4; $i++) {
  $textColor = imagecolorallocate($image, rand(20, 100), rand(20, 100), rand(20, 100));
  $textX = $i * 50 + 10;
  $textY = rand(40, 60);
  imagettftext($image, 30, rand(20, 50), $textX, $textY, $textColor, "/Library/Fonts/华文仿宋.ttf", $text[$i]);
}
Copier après la connexion

Notez ici que le fichier de police doit prendre en charge le chinois

l'encodage doit utiliser utf-8 , pensez à convertir les chinois de gbk [la fonction iconv peut vous aider]

Image de sortie

header("Content-Type:image/png");
imagepng($image);
Copier après la connexion

Détruire les ressources

imagedestroy($image);
Copier après la connexion

Après un travail acharné, le code de vérification chinois s'affiche. Bien sûr, lorsqu'un site Web est utilisé, il y aura une graine de bibliothèque de caractères chinois, à partir de laquelle un nombre spécifique de caractères chinois sont extraits et affichés au hasard, et finalement enregistrée. La session est vérifiée.

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Connaissance de base et application des modèles de conception PHP

Classe d'encapsulation des opérations de fichier image PHP

Ceux qui confondent souvent les points de connaissances en PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal