我解压缩文件,我不知道其内容的名称。我需要立即打开并处理这个文件。我该怎么抓住它?不知道它的名字?
继承我的代码......
if($extension == 'ZIP' || $extension == 'zip'){
$zip = new ZipArchive;
$res = $zip->open($_FILES['my_file']['tmp_name']);
if ($res === TRUE) {
$zip->extractTo('../storage/unzipped/');
$zip->close();
// Get file, how? If I dont know the name, of the file inside the
// zip folder?
} else {
// Errors
}
}
我绝对知道如何打开文件,如果我知道名字.....但在这种情况下,我不知道名字,所以我需要以某种方式得到它。 zip_entry_name()...
答案 0 :(得分:0)
好吧,我在任何人都可以回答之前解决了......所以这里适合任何需要它的人。
$entry = $zip->getNameIndex(0);
或者,如果您的文件有多个文件夹/文件
$filenames=[];
for ($i = 0; $i < $zip->numFiles; $i++) {
$filenames[] = $zip->getNameIndex($i);
};
完整代码
if($extension == 'ZIP' || $extension == 'zip'){
$zip = new ZipArchive;
$res = $zip->open($_FILES['my_file']['tmp_name']);
if ($res === TRUE) {
$zip->extractTo('../storage/unzipped/');
$filename = $zip->getNameIndex(0);
// Open file or stream it or whatever you want
// now that you have the name
$zip->close();
} else {
// error
}
}