2016-12-09 6 views
0

Я пытаюсь создать zip-файл с папками внутри него. Теперь код:Laravel Chumper Zipper close() не создает 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); 
} 
} 

Теперь при просмотре папки локально, папка admin.zip entie создается с полной иерархией и содержания. Но на $ zipper-> close zip-файл не создается, и папка admin.zip остается там. Также нет ошибки в вызове API или журналах. Просьба указать, где я могу сделать ошибку

ответ

0

См. Пример Chumper/Zipper. Это простой и простой способ использования.

ИЛИ вы можете разместить эту строку "status ::". $zipper->status . "\n" после $zipper->add(), чтобы проверить статус.

+0

Получение: статус $ не найден. И для $ zipper-> getStatus(), [2016-12-09 12:05:19] local.INFO: status :: Без ошибок, для каждого $ zipper-> add – zeetit

+0

Проверьте этот путь правильно ИЛИ нет? 'print storage_path(). DIRECTORY_SEPARATOR. «приложение». DIRECTORY_SEPARATOR. $ path. DIRECTORY_SEPARATOR. $ content-> unique_name; ' –

+0

Он показывает правильный путь ... фактический абсолютный путь исходного файла – zeetit