我想知道是否可以在不提取.zip文件的情况下打开位于.zip文件中的PDF文件?如果它不在.zip文件中,我可以打开PDF,如下所示:
<?
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');
?>
答案 0 :(得分:0)
使用zip://包装器:
您可以将其与fopen/fread
或file_get_contents
:
$pdf = file_get_contents('zip://datacollection.zip#data.pdf');
echo $pdf;
答案 1 :(得分:0)
(代表OP发布):
这是一个解决方案,感谢JoeCoder:
header("Content-type: application/pdf");
$pdf = file_get_contents('zip://C:/xampp/htdocs/weborder.zip#weborder.pdf');
echo $pdf;
?>