Maison > Questions et réponses > le corps du texte
C'est l'effet sans ouvrir la session (l'image du code de vérification peut être affichée normalement)
C'est l'effet après l'ouverture de la session (aucune photo affichée)
--------- - ------------------------------------------------- - ----------------
Excusez-moi, pourquoi est-ce
Code source respectueusement
-------------- -- ------------------
<?php
session_start();
$largeur = 300;
$hauteur = 100 ;
$img = imagecreatetruecolor($width,$height);
$white = imagecolorallocate($img, 255, 255, 255);
$red = imagecolorallocate($img, 255, 0, 0);
imagefilledrectangle ($img, 0, 0, $width, $height, setColor($img));
function setColor($img)
{
return imagecolorallocate($img,getColor(),getColor(), getColor( ));
}
function getColor()
{
return mt_rand(0,255);
}
function setNum($a,$b)
{
return mt_rand($a, $b );
}
function getCode()
{
return $string = join('',array_rand(array_flip(array_merge(range(0,9),range('a','z') ,range ('A','Z'))),4));
}
$str = getCode();
$_SESSION['verifycode'] = $str;
pour($i= 0; $i<4;$i++)
{
$size = setNum(20,50);
$angle = setNum(-15,15);
$x = ($largeur/4)* $i +mt_rand(1,9);
$y = mt_rand(($hauteur/2),$hauteur);
$color = setColor( $img );
$fontfile = './fonts/MSYH .ttf ';
$text = mb_substr(getCode(),$i,1,'utf-8');
imagettftext($img, $size, $angle, $x, $y, $color, $ fichier de police, $text);
}
for($i=0;$i<1500;$i++)
{
imagesetpixel($img, mt_rand(0, $width), mt_rand(0, $height), setColor($img));
}
pour($i=0;$i<3;$i++)
{
imageline($img, mt_rand(0, $width), mt_rand(0,$height), mt_rand(0, $ largeur), mt_rand(0,$hauteur), setColor($img));
}
pour($i=0;$i<3;$i++)
{
$cx = mt_rand(0, $width);
$cy = mt_rand(0, $height);
$width = mt_rand(0, $width/2);
$height = mt_rand(0, $height/2);
$start = mt_rand( 0, 360);
$end = mt_rand(0, 360);
$color = setColor($img);
imagearc($img, $cx, $cy, $width, $height, $start, $end, $color);
}
header('content-type:image/jpeg');
imagejpeg( $img );
imagedestroy( $img );
?>
直奔十维2017-10-05 16:40:26
Il devrait être automatiquement supprimé, n'est-ce pas ? Fichiers temporaires.
De plus, vous pouvez également envisager une session de stockage dans la base de données ?
钟毅2017-10-04 14:03:31
Je suppose que vous n’êtes pas confronté à quelque chose qui a mal tourné maintenant. Il est recommandé de commencer par une simple vérification d’image et d’y réfléchir d’abord. C'est très nécessaire. Supprimez simplement les autres codes inutiles. Mot de passe utilisateur déjà enregistré et vérifié. Essayons ce problème de SESSION d'images seul. Avez-vous besoin d'enregistrer un domaine caché ?