我从php.net获取了代码
function LoadPNG($imgname)
{
$im = @imagecreatefrompng($imgname);
if(!$im)
{
$im = imagecreatetruecolor(150, 30);
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
}
return $im;
}
header('Content-Type: image/png');
$path = './upload/xxx.png';
$img = LoadPNG($path);
imagepng($img);
imagedestroy($img);我在浏览器中有消息,页面无法加载:
未收到数据,无法加载网页,因为服务器未发送数据。这里有一些建议:稍后重新加载此网页。错误324 (net::ERR_EMPTY_RESPONSE):服务器没有发送任何数据就关闭了连接。
但是如果我把imagecreatefrompng改成imagecreatefrompng jpeg,imagepng改成imagejpeg,path改成jpeg。或者写incorect文件我有错误的图像(imagestring) -它工作得很好…
发布于 2011-08-17 22:26:16
这听起来像是内存问题。我会换掉这行
$im = @imagecreatefrompng($imgname);到这个
$im = imagecreatefrompng($imgname);如果你这样做,你可能会得到更多的信息。在将这段代码投入生产时,只需将其改回即可。您的用户不需要看到任何警告和错误。如果是内存问题,那么代码所在部分包含this tidbit信息。
发布于 2011-09-05 20:31:25
请看那里- http://forums.freebsd.org/showthread.php?t=21542
https://stackoverflow.com/questions/7094256
复制相似问题