在浏览器上显示PHP图像
(一)在浏览器上显示PHP图像,php,Php,(一) 从这两个代码中,我的图像可以很好地显示在浏览器中。但它们的区别是什么?我应该选择哪种方法?您发布的第一个示例只是将图像文件“包括”到DOM中。 它基本上会输出如下内容: $file = $_GET['file']; $imginfo = getimagesize($file); header('Content-type: '.$imginfo['mime']); echo file_get_contents($file);` 而第二个选项实际上将内容类型设置为图像的mime
从这两个代码中,我的图像可以很好地显示在浏览器中。但它们的区别是什么?我应该选择哪种方法?您发布的第一个示例只是将图像文件“包括”到DOM中。 它基本上会输出如下内容:
$file = $_GET['file'];
$imginfo = getimagesize($file);
header('Content-type: '.$imginfo['mime']);
echo file_get_contents($file);`
而第二个选项实际上将内容类型
设置为图像的mime
。这意味着,如果它是一个png
,那么运行该脚本的页面实际上将作为一个整体图像
如果是png图像,则返回内容类型为
image/png
关键区别是输出:
示例1
引用路径,而示例2
输出二进制文件并将其标记为图像(以便HTTP客户端可以正确解释响应)
说到点子上。。。示例
1
是首选,因为它不必将文件内容存储在内存中。您发布的第一个示例只是:
输出:
第二个选项实际上设置了内容类型:
它返回的内容类型是image/png
或image/jpg
,类似这样
我更喜欢第二个示例。您可以获得大小和内容类型。
$file = $_GET['file'];
$imginfo = getimagesize($file);
header('Content-type: '.$imginfo['mime']);
echo file_get_contents($file);`
<img src="path/to/image.png" />
<img src="image.png" />