我制作了这个代码,它应该向我展示一个带有文字的图像,但图像不会出现。有什么想法吗?
<?php
header("Content-type: image/png");
$md5 = md5(microtime() * mktime());
$string = substr($md5,0,5);
$captcha = imagecreatefrompng('bg.png');
$black = imagecolorallocate($captcha, 0, 0, 0);
$line = imagecolorallocate($captcha,233,239,239);
imageline($captcha,0,0,39,29,$line);
imageline($captcha,40,0,64,29,$line);
imagestring($captcha, 5, 20, 10, $string, $black);
$_SESSION['key'] = md5($string);
imagepng($captcha);
imagedestroy($captcha);
?>
答案 0 :(得分:0)
检查您的PHP错误日志文件,在我的本地主机上,我的代码出现了一些错误。
答案 1 :(得分:0)
您不能以mktime
方式使用以下错误Strict standards: mktime() [function.mktime]
,这会导致您的图片无法显示
替换
$md5 = md5(microtime() * mktime());
用
$md5 = md5(microtime() * time());
您的输出
答案 2 :(得分:0)
此脚本在我的localhost上正常运行。请检查文件夹中是否存在bg.png
。因为如果找不到bg.png则会产生错误。
感谢
答案 3 :(得分:0)
它也适用于我。 您应该检查图像的路径
答案 4 :(得分:0)
使用:
$captcha = imagecreatefrompng(dirname(__FILE__) . '/bg.png');
而不是:
$captcha = imagecreatefrompng('bg.png');