Laravel Chumper Zipper close()没有创建zip文件

时间:2016-12-09 04:45:04

标签: php laravel file zip ziparchive

我正在尝试创建一个包含文件夹的zip文件。 现在代码是:

{
$zipper = new \Chumper\Zipper\Zipper;
$zipper->make(storage_path('app/' . $zipPath));
.
.
Storage::makeDirectory($zipPath . DIRECTORY_SEPARATOR . $user->username , 0777);
$zipper->folder($zipPath . DIRECTORY_SEPARATOR . $user->username);
$currentZipPath = $zipPath . DIRECTORY_SEPARATOR . $user->username;
Storage::makeDirectory($currentZipPath . DIRECTORY_SEPARATOR . $myfolder->name , 0777);
                        $zipper->folder($currentZipPath . DIRECTORY_SEPARATOR . $myfolder->name);
.
.
$this->addDataToZip($contents, $currentZipPath . DIRECTORY_SEPARATOR . $myfolder->name,  $zipper, $user);

Log::info('Zip status : ' . $zipper->getStatus());  //Gives "No error"
$zipper->close();
}


public function addDataToZip($contents, $path, &$zipper, $user)
 {



foreach ($contents as $content) {
 $filebasepath = storage_path('app/' . $path);

 Storage::copy(
      $this->model->getActiveStorageBasePath($user)
             . DIRECTORY_SEPARATOR . $content->unique_name,
      $path . DIRECTORY_SEPARATOR . $content->unique_name
 );

$zipper->add(storage_path() . DIRECTORY_SEPARATOR . 'app'
                    . DIRECTORY_SEPARATOR . $path
                    . DIRECTORY_SEPARATOR . $content->unique_name);
}
}

现在,当我在本地查看文件夹时,会创建entie admin.zip文件夹,其中包含完整的层次结构和内容。 但是在$ zipper->关闭时,不会创建zip文件,并且admin.zip文件夹仍保留在那里。 此外,API调用或日志中没有错误。 请指导我可能会出错的地方

1 个答案:

答案 0 :(得分:0)

参见示例Chumper/Zipper。这是一种简单直接的使用方法。

或者您可以在"status ::". $zipper->status . "\n"之后设置此行$zipper->add()以检查状态。