0

我正在尝试压缩一些文件并将其发送给用户下载。压缩文件按预期发送,但没有任何文本文件添加到存档中。

谁能看到我做错了什么?我尝试过相对和绝对文件路径。

另外,作为第二个问题:如果此代码正确,我的开发环境是 WAMP 设置,而我的实时环境是 LAMP 设置 - 此代码是否适用于两者?

header('Content-Type: application/zip'); 
header('Content-Disposition: attachment; filename="download1.zip"');
header('Content-Transfer-Encoding: binary');
ob_clean();
flush();
$fp = popen('zip -0 -j -q -r - C:\xampp\htdocs\test\f\1.txt C:\xampp\htdocs\test\f\2.txt', 'r');
while (!feof($fp)) {
echo fread($fp, 8192);
ob_flush();
flush();
}
pclose($fp);
4

1 回答 1

0

zip 命令中的第一个文件名是要创建的 zip 文件的名称,以下文件是您要添加到实现的文件。似乎只是在伪造的 zip 文件中捏造就可以了:

$fp = popen('zip -0 -j -q -r - download1.zip test.txt test2.txt', 'r');

于 2013-03-20T14:39:58.790 回答