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);
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); }
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); }
Dessiner des caractères chinois
$text = array('栀', '子', '花', '开'); 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]); }
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);
Détruire les ressources
imagedestroy($image);
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!