PHP无法使用X-SendFile和jpeg标头显示图像

时间:2014-04-07 13:49:46

标签: php apache .htaccess http-headers x-sendfile

由于某种原因,我无法正确显示图像,它的错误并没有告诉我什么是错的,是什么想法?

CODE

$finfo = finfo_open(FILEINFO_MIME_TYPE);
header("Content-type:   ".finfo_file($finfo, $filepath));
finfo_close($finfo);
header('Content-length: '.filesize($filepath));
header('Content-Disposition: inline; filename="'.$file.'"');
header('X-Sendfile: ' . $filepath );

HTTP/1.1 200 OK
Date: Mon, 07 Apr 2014 13:45:37 GMT
Server: Apache/2.2.22 (Ubuntu)
X-Powered-By: PHP/5.3.10-1ubuntu3.10
X-Sendfile: /path/image.jpg
Content-Length: 0
Content-Disposition: inline; filename="image.jpg"
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: image/jpeg

2 个答案:

答案 0 :(得分:0)

你确定你的文件在那里吗?

我看到Content-Length: 0。我怀疑你想发送空文件。

尝试删除header的输出并将其替换为echo以查看您的scrit失败的位置。

答案 1 :(得分:0)

上面的代码确实有效,它是x-sendfile,在apache中没有正确配置