如何获取我刚刚解压缩的文件。 PHP

时间:2017-03-03 03:58:02

标签: php unzip

我解压缩文件,我不知道其内容的名称。我需要立即打开并处理这个文件。我该怎么抓住它?不知道它的名字?

继承我的代码......

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()...

1 个答案:

答案 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
    } 
 }