使用src加载php图像

时间:2011-05-17 08:54:51

标签: php image

是否可以使用以下方式加载图像:

<img src="image.php?image_id=1">

代表image.php

$image_id = $_GET['image_id']; 
echo "image".$image_id.".png"; 

6 个答案:

答案 0 :(得分:5)

您必须返回有效图片,使用file_get_contentsreadfile获取图片内容然后输出到浏览器

 header("Content-Type:image/png");

    $image_id = $_GET['image_id']; 

    if(is_file($file = "image".$image_id.".png") ||  is_file($file = "no_image.png"))
        readfile($file); 

答案 1 :(得分:0)

如果您在数据库中有png内容,请按照其他答案操作。如果您只需要数据库中的id,只需<img src="image<?=$image_id?>.png">

答案 2 :(得分:0)

不,这不可能。您必须将图像文件的内容写入输出流。

答案 3 :(得分:0)

  

是否可以加载图片使用:   <img src="image.php?image_id=1">

是。网址是网址。它是确定内容的内容类型,而不是URL本身中的任何字符。

  

$image_id = $_GET['image_id'];   echo "image".$image_id.".png";

不是那样的。您要么必须读取图像文件,然后使用合适的内容类型输出它,或者将其重定向(带有位置标题)到静态图像。

答案 4 :(得分:0)

您必须更改标题内容类型并打印图像文件的内容。以下是image.php文件的示例:

$image_id = $_GET['image_id']; 
$filename = "image".$image_id.".png"; 
header('Content-Type: image/png');
print file_get_contents($filename);

答案 5 :(得分:0)

一个班轮......

echo (file_exists($_GET['image_id'])) ? header("Content-Type:image/png").readfile($_GET['image_id']).die() : false;