2015-12-11 28 views
1

我有问题。 此代码应该生成文本到图像并在页面上显示,但这不起作用。这显示丢失的图像图标。代码:图像丢失而不是imagepng

$stmt = $pdo->prepare("SELECT * FROM imiona"); 
$stmt -> execute(); 

while($row = $stmt -> fetch(PDO::FETCH_ASSOC)) { 
    $id = $row['id']; 
    $japan = $row['imie_japan']; 
    $polish = $row['imie_polish']; 

    echo "<b>".$polish."</b><br>"; 
    echo $japan."<br>"; 

    header("Content-type: image/png"); 
    $fontsize = 40; 
    $fonttype = 'ARIAL.TTF'; 
    $width = imagefontwidth($fontsize) * strlen($japan); 
    $height = imagefontheight($fontsize); 
    $image = imagecreatetruecolor($width,$height); 
    $white = imagecolorallocate ($image,255,255,255); 
    $black = imagecolorallocate ($image,0,0,0); 
    imagefill($image,0,0,$white); 
    imagettftext($image,$fontsize,0,0,0,$black,$fonttype,$japan); 
    imagepng ($image); 
    imagedestroy($image); 
    echo "<br>"; } 
+0

你有一个循环,你在每个循环中发送标题?这不会做到这一点。图像不应该输出任何HTML元素,而不是图像内容。创建一个单独的文件来映射图像。 –

回答

0

你是不是只显示一个图像,你echo'ing出像<b>".$polish."</b><br>";$japan."<br>";,然后在最后一个<br>标签多个字符串。

删除所有......因为您无法在编码图像之前和之后回显随机字符串,导致图像本身中断。

相关问题