图像不会显示在PHP中

时间:2011-09-08 12:58:09

标签: php image-processing

我是Php with Images的新手。 我找到了显示图像的代码

<<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Save the image as 'simpletext.jpg'
imagejpeg($im);

// Free up memory
imagedestroy($im);
?>>

但是firefox显示了一些虚假的代码而不是那个Image.here是Firefox显示的图像的链接     http://tinypic.com/r/htw6cm/7 这是图像的链接

3 个答案:

答案 0 :(得分:2)

你在看什么图像的“字节”。默认情况下,您的浏览器会认为您的脚本即将打印一些文本。所以你最终会看到一些奇怪的角色。

由于您打印的不是文本,而是图像,因此您需要告诉浏览器脚本的内容将是图像。您可以通过发送如下标题来执行此操作:

<?php

header("Content-Type: image/jpeg"); // treat the script as an image

// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Save the image as 'simpletext.jpg'
imagejpeg($im);

// Free up memory
imagedestroy($im);

答案 1 :(得分:0)

使用

<?
header('Content-type: image/jpg');

在脚本开头发送图像标题。 因此浏览器将以jpg-image-data

的形式处理php输出

答案 2 :(得分:0)

header('Content-type: image/jpg');
在脚本开头

,但在开始实际输出之前,即imagejpeg($im);

上方的行

所以,如果发生任何错误,它会让你看到错误

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

//send header
header('Content-type: image/jpg');

//output an image
imagejpeg($im);

我也删除了一些错误,错误和无用的操作符