Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在浏览器上显示PHP图像_Php - Fatal编程技术网

在浏览器上显示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" />