PHP图像显示在浏览器上

时间:2014-12-18 05:32:30

标签: php

(1)

$file = $_GET['file'];
echo '<img src="'.$file.'" />';

(2)

 $file = $_GET['file'];
 $imginfo = getimagesize($file);
 header('Content-type: '.$imginfo['mime']);
 echo file_get_contents($file);`

从这两个代码中,我的图像可以很好地显示在浏览器中。但它们的区别是什么?我更喜欢哪种方法?

3 个答案:

答案 0 :(得分:2)

您发布的第一个示例只是将图像文件“包含”到DOM中。 它基本上会输出类似的东西:

<img src="path/to/image.png" />

虽然第二个选项实际上将Content-Type设置为图像的mime。例如,如果它是png,则运行该脚本的页面实际上将作为整个图像提供。

如果是png图片,则会返回image/png的内容类型。

答案 1 :(得分:0)

关键区别是输出:

示例1来自路径的引用,而示例2输出二进制文件并将其标记为图像(因此HTTP客户端可以正确解释响应)。

到目前为止......示例1是首选,因为它不必将文件内容存储在内存中。

答案 2 :(得分:0)

您发布的第一个示例只是: 输出:

<img src="image.png" />

第二个选项实际上设置了Content-Type:

它会返回image/pngimage/jpg的内容类型。

我更喜欢去第二个例子。