使用 PHP 打开 zip 格式的 PDF 文件而不解压缩

Opening PDF file in zip without extracting, using PHP

我想知道是否可以在不解压缩 .zip 文件的情况下打开位于 .zip 文件中的 PDF 文件?如果 PDF 不在 .zip 文件中,我可以打开它,如下所示:

<?
header("Content-type: application/pdf");
header("Content-Disposition: inline; filename=C:\orders\data.pdf");
@readfile("filename=C:\orders\data.pdf");
?>

我试过这样做,但这不起作用:

<?
header("Content-type: application/pdf");
header("Content-Disposition: inline; filename=C:\orders\datacollection.zip\data.pdf");
@readfile("filename=C:\orders\datacollection.zip\data.pdf");
?>

所以我的问题是,PHP 是否可以在不解压缩的情况下打开位于 .zip 文件中的 PDF 文件?

我也试过了,但没用:

<?php
$zip = new ZipArchive;
$zip->open('weborder.zip');
$contents = $z->getFromName('weborder.pdf');
?>

使用 zip:// 包装器:

您可以将它与 fopen/fread 一起使用,也可以仅与 file_get_contents:

一起使用
$pdf = file_get_contents('zip://datacollection.zip#data.pdf');
echo $pdf;

(代发):

这是一个解决方案,感谢 JoeCoder:

header("Content-type: application/pdf");
$pdf = file_get_contents('zip://C:/xampp/htdocs/weborder.zip#weborder.pdf');
echo $pdf;
?>