通过PHP访问不在Web文件夹中的jpg

时间:2019-03-21 03:08:35

标签: php image png jpeg gif

我最近发现了一个YouTube视频,该视频谈到了在网络浏览器中访问PDF的问题。有趣的是,因为我怀疑我可以在系统上的大多数地方访问PDF(已获得权限),然后通过PHP将其传递到Web浏览器。

我不希望他成为安全讨论,所以请放弃安全评论!

https://www.youtube.com/watch?v=z4a6QJSGL28

代码看起来像这样

$file="/home/kodi/Pictures/scans/test.pdf";
$filename="test.pdf";

header('Content-type: application/pdf');
header('Content-disposition: inline; filename="'.$filename.'"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
@readfile($file);

所以我进行了测试,并且可以正常工作

$file="/home/kodi/Pictures/scans/test.jpg";
$filename="test.jpg";

header('Content-type: application/jpg');
header('Content-disposition: inline; filename="'.$filename.'"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
@readfile($file);

奇怪的是,它没有显示在Web浏览器中,但是几秒钟后,我首选的用于下载jpg的应用程序打开,并且有文件。它已下载而不是在浏览器中打开。

我一直在开发一个可以通过PAM身份验证访问服务器上用户文件夹的LAN应用程序,并且一直在使用base64编码,但是我觉得如果可以减少base64映像的开销(30%),转换和字面意义,转换列表中的每个图像以显示指向它们的链接,系统将加载得更快。肯定是更好的方法,但是每个人都说这种事情不起作用!我希望从我从用户文件夹中的Web服务器下载的文件中的ios能够正常工作的证明。

有什么想法如何使其与jpgs兼容?

1 个答案:

答案 0 :(得分:0)

您的内容类型不正确,应为image / jpeg,而不是application / jpg