以 PHP 格式输出图像
我有一个图像( 例如$file
../image.jpg
)
具有哑剧类型$type
如何将其输出到浏览器?
$file = '../image.jpg';
$type = 'image/jpeg';
header('Content-Type:'.$type);
header('Content-Length: ' . filesize($file));
readfile($file);
如果您有自由配置Web服务器,那么像mod_xsendfile(Apache)这样的工具比在PHP中读取和打印文件要好得多。您的 PHP 代码将如下所示:
header("Content-type: $type");
header("X-Sendfile: $file"); # make sure $file is the full path, not relative
exit();
mod_xsendfile选取 X-Sendfile 标头并将该文件发送到浏览器本身。这可以对性能产生真正的影响,特别是对于大文件。大多数建议的解决方案将整个文件读取到内存中,然后将其打印出来。对于 20 KB 的图像文件,这是可以的,但是如果你有一个 200 MB 的 TIFF 文件,你一定会遇到问题。