ZipArchive .zip 文件显示根目录中的所有文件
我希望代码将树中的所有文件制作为根目录中的 .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 文件夹的根目录中,
请提出建议
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ZipArchive::addFile()
中有第二个参数,称为localname
(请参阅 此处),它允许您设置 zip 存档中文件的本地名称。使用它来覆盖默认的目录结构。There's a second parameter in
ZipArchive::addFile()
calledlocalname
(see here) which lets you set the local name of the file within the zip archive. Use this to override the directory structure which is the default.