我希望代码将树中的所有文件都放到根
中的.zip文件中 <?PHP
// create object
$zip = new ZipArchive();
// open archive
if ($zip->open('my-archive.zip', ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// list of files to add
// list of files to add
$fileList = array(
'im/asd.pdf',
'im/df.pdf',
'im/d/qoyyum.txt'
);
// add files
foreach ($fileList as $f) {
$zip->addFile($f) or die ("ERROR: Could not add file: $f");
}
// close and save archive
$zip->close();
echo "Archive created successfully.";
?>
例如文件夹/ im包含
/im/asd.pdf
/im/df.pdf
/im/d/qoyyum.txt
'my-archive.zip'摘录应如下所示
my-archive/asd.pdf
my-archive/df.pdf
my-archive/qoyyum.txt
我想在解压缩zip时阻止文件夹层次结构。这样每个文件都应该在解压缩的zip文件夹的根目录中
请建议提示
答案 0 :(得分:2)
在ZipArchive::addFile()
中有一个名为localname
的第二个参数(请参阅here),它允许您在zip存档中设置文件的本地名称。使用它来覆盖默认的目录结构。
foreach ($fileList as $f) {
$filename_parts = explode('/', $f); // Split the filename up by the '/' character
$zip->addFile($f, end($filename_parts)) or die ("ERROR: Could not add file: $f");
}