как извлечь zip-файлы, загруженные пользователем? - PullRequest
0 голосов
/ 02 ноября 2019

Итак, я хочу создать систему, в которой пользователь загружает в zip-файл файлы 3d-модели и модель может быть показана, сохранена и т. Д.

Итак, я получил файл и помещаю егов папку навсегда, и разархивируйте его в другую временную папку, просто чтобы посмотреть, если это 3d-модель.

Я пытался так:

                  $target_dir = "upload/";
                  $targetfilename = rand().$_FILES['file']['name'];
                  move_uploaded_file($_FILES['file']['tmp_name'], $target_dir.$targetfilename);

                  //unzip the file into temp folder
                  $tmp_dir = $target_dir.rand();
                  mkdir($tmp_dir);  
                  chmod($tmp_dir, 0777);
                  //chmod($targetfilename, 0777); //this not working, maybe isn't the right way

                  $zip = new ZipArchive;
                  $res = $zip->open($targetfilename);
                  if ($res === TRUE) {
                    // extract it to the path we determined above
                    $zip->extractTo($tmp_dir);
                    $zip->close();
                    echo 'SUCCESS';
                  } else {
                    echo 'ERROR';
                  }

Я не получаю никаких ошибок, но почтовый индекс не может быть распакован. Любая идея? Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 02 ноября 2019

Разве $targetfilename не находится в папке $target_dir?

Если это так, изменение $res = $zip->open($targetfilename); на

$res = $zip->open($target_dir.$targetfilename); может решить вашу проблему.

...