Ответы пользователя по тегу PHP
  • Как распаковать zip-архив с заменой файлов с помощью PHP?

    @NewMax
    Когда-то давно делал так (с проверкой существования нужных файлов в архиве):
    //передается путь к zip архиву
    public function getData($filename)  {
    $zip = new \ZipArchive;
    $res = $zip->open($filename);
    if ($res === true) {
      $msg = '';
      $fail = false;
      if (!$zip->getFromName('1.txt')) {
         $fail = true;
         $msg .= 'В архиве не найден файл 1.txt. ';
       }
       if (!$zip->getFromName('2.txt')) {
             $fail = true;
             $msg .= 'В архиве не найден файл 2.txt. ';
        }
        if (!$zip->getFromName('3.txt')) {
              $fail = true;
              $msg .= 'В архиве не найден файл 3.txt. ';
        }
        if (!$zip->getFromName('4.txt'))
        {
                    $fail = true;
                    $msg .= 'В архиве не найден файл 4.txt. ';
        }
        if ($fail) {
             return $ms;
        }
        $zip->extractTo(__DIR__.'/../../../../web/uploads/DBfiles/res');
        $zip->close();
        return 'Файлы успешно распакованы';
       }
       return 'Не удалось открыть архив';
    }

    И старые файлы успешно заменяются.
    Ответ написан
    Комментировать