我有一个php脚本的问题,它从png图像生成验证码。 ie和chrome一切都没问题。在Firefox浏览器中测试脚本时出现问题。
我的代码:
function executeGenerateCaptcha()
{
header('Content-Type: image/jpg');
// number of characters to type
define('NB_CARACTERE', 6);
$sImage = imagecreatefrompng(dirname(__FILE__) . '/../captcha/images/fond.png');
$nCpt = 0;
// possible characters for captcha
$aChars = '123456789ABCDEFGHJKLMNPQRSTUVWXYZ';
// string generation
while ($nCpt < NB_CARACTERE)
{
$sCaractere = $aChars{ mt_rand(0, strlen($aChars) - 1)};
$aCaracteres[$nCpt] = $sCaractere;
$nCpt++;
}
$sCode = null;
$iAbcisse = 0;
$iInclinaison = -20;
// characters generation on image
foreach ($aCaracteres as $sCaractere)
{
$sCode .= $sCaractere;
$color = imagecolorallocate($sImage, mt_rand(0, 253), mt_rand(0, 253), mt_rand(0, 253));
imagettftext($sImage, 40, $iInclinaison, 0 + $iAbcisse, 45, $color, dirname(__FILE__) . '/../captcha/images/arial.ttf', $sCaractere);
$iAbcisse = $iAbcisse + 30;
$iInclinaison = $iInclinaison - 12;
}
unset($sCaractere);
unset($nCpt);
unset($sCaractere);
unset($aCaracteres);
imagepng($sImage);
}
答案 0 :(得分:0)
解决方案只是添加&#39; flush();&#39;在函数结束时保存生成的图像。