日期:2014-05-17  浏览次数:20668 次

关于gd类库中的imagecreate()
代码如下:

<?php
//header("content-type: image/png");
include("config.php");
$s1 = "SELECT * FROM question WHERE t=0";
$result = mysql_query($s1);
$i = 0;
while($row=mysql_fetch_array($result))
{
$id = $row["id"];
$content0 = $row["content"];
$s2 = "SELECT * FROM question WHERE t='$id' ";
$result1 = mysql_query($s2);
echo "<table>";
echo "<tr><td colspan='2' align='center'>".$content0."</td></tr>";
while($rows=mysql_fetch_array($result1))
{
$content = $rows["content"];
$num = $rows["num"] * 10;
$im = imagecreate($num,20);
$black = imagecolorallocate($im,rand(0,254),rand(0,255),rand(0,255));
$name = $i;
imagepng($im,"E:\apache\htdocs\image\$name.png");
echo "<td>".$content."</td>";
echo "<td><img src=image\$name.png></td>";
  echo "<td>".($num/10)."</td>
</tr>";
imagedestroy($im);
$i ++;
}
echo "</table>";
}
?>

发现把imagecreate放在循环里 总是会出错Warning: imagecreate() [function.imagecreate]: Invalid image dimensions 

而且输出的图片都是一张图片 是什么原因呢

------解决方案--------------------
Warning: imagecreate() [function.imagecreate]: Invalid image dimensions : 无效的图片尺寸
说明 $num = $rows["num"] * 10; 这儿的 $rows["num"]可能是个空字符串值。至于为什么是空值,就看你的表设计了
------解决方案--------------------
被你忽悠了
echo "<td><img src=image\$name.png></td>";
只能得到 <td><img src=image\$name.png></td> 这样的结果!
你需要
echo "<td><img src=image/$name.png></td>";

才能得到
<td><img src=image/1.png></td>
<td><img src=image/2.png></td>
<td><img src=image/3.png></td>