2016-12-09 31 views
0

私はその中にフォルダを含むzipファイルを作成しようとしています。 は今のコードは次のとおりです。私はローカルフォルダを表示したときに今、entieのadmin.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); 
} 
} 

。 $ 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 'app' DIRECTORY_SEPARATOR $パス。 DIRECTORY_SEPARATOR $ content-> unique_name; ' –

+0

正しいパスを示しています...元のファイルの実際の絶対パス – zeetit

関連する問題