将文件夹内容复制到Zip php

时间:2014-03-13 11:41:30

标签: php zip ziparchive

我有下一个包含文件的文件夹:

2147485934:{image.ai,image.jpg,image.psd}

我想创建一个带有文件的新zip:

<?
$zip = new ZipArchive;
$zip->open('newPack.zip', ZipArchive::CREATE);
foreach (glob("2147485934/*") as $file) {
$zip->addFile($file);
}
$zip->close();
?>

它有效,但新的zip文件具有相同的结构:
newPack.zip - &gt; 2147485934:{image.ai,image.jpg,image.psd}
我想在我的拉链内找到下一个结构:
newPack.zip - &gt; image.ai,image.jpg,image.psd //没有文件夹2147485934

非常感谢任何有关此问题的帮助

2 个答案:

答案 0 :(得分:1)

试试这个:

$zip->addFile($file, basename($file));

第二个参数定义存档内文件的名称。我添加的代码从归档文件中的文件名中删除目录名称。

答案 1 :(得分:0)

使用chdir移动到所选文件夹:

http://www.php.net/chdir

<?
$zip = new ZipArchive;
$zip->open('newPack.zip', ZipArchive::CREATE);
chdir('2147485934')
foreach (glob("*") as $file) {
$zip->addFile($file);
}
$zip->close();
?>