我正在使用以下帖子LAMP: How to create .Zip of large files for the user on the fly, without disk/CPU thrashing
中的脚本header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="file.zip"');
// use popen to execute a unix command pipeline
// and grab the stdout as a php stream
// (you can use proc_open instead if you need to
// control the input of the pipeline too)
//
$fp = popen('zip -r - tmp/01-55-34_561764e6cb06e', 'r');
// pick a bufsize that makes you happy (8192 has been suggested).
$bufsize = 8192;
$buff = '';
while( !feof($fp) ) {
$buff = fread($fp, $bufsize);
echo $buff;
}
pclose($fp);
我的文件夹在文件夹中:tmp / 01-55-34_561764e6cb06e
我得到一个有效的zip文件,但问题是我也得到了我的zip文件中包含的路径。
当我打开它时,我的zipfile看起来像这样
tmp/01-55-34_561764e6cb06e/image1.jpg
tmp/01-55-34_561764e6cb06e/image2.jpg
tmp/01-55-34_561764e6cb06e/image3.jpg
tmp/01-55-34_561764e6cb06e/image4.jpg
我只想拥有没有文件夹的图像(tmp /...).
文件结构
/var/www/html/script.php
/var/www/html/tmp/01-55-34_561764e6cb06e/image1.jpg
/var/www/html/tmp/01-55-34_561764e6cb06e/image2.jpg
/var/www/html/tmp/01-55-34_561764e6cb06e/image3.jpg
我不希望我的脚本与图像位于同一文件夹中!
答案 0 :(得分:0)
实测值
-j
- 垃圾路径 只存储已保存文件的名称(垃圾路径),而不是 存储目录名称。默认情况下,zip将存储完整路径 (相对于当前目录)。