Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.21 KB | None | 0 0
  1. $model = $this->findModel($id);
  2.         $result = [];
  3.  
  4.         $file = tempnam(sys_get_temp_dir(), rand(0, 999999999).'zip');
  5.         $zip = new \ZipArchive();
  6.         if ($zip->open($file, \ZipArchive::CREATE) !== TRUE) {
  7.             throw new \Exception('Cannot create a zip file');
  8.         }
  9.         foreach($model->productPhoto as $photo){
  10.             $url = Yii::$app->params['urlStorage'].$photo->photo["folder"].'/'.$photo->photo["name"];
  11.             $result[] = $url;
  12.             $ReadFile = fopen ($url, "rb");
  13.             if ($ReadFile) {
  14.                 $WriteFile = tmpfile();
  15.                 if ($WriteFile){
  16.                     while(!feof($ReadFile)) {
  17.                         fwrite($WriteFile, fread($ReadFile, 4096 ));
  18.                         stream_get_meta_data($WriteFile);
  19.                         $urlw = stream_get_meta_data($WriteFile)['uri'];  
  20.                     }
  21.                     $zip->addFile($urlw);
  22.                     fclose($WriteFile);
  23.                 }
  24.                 fclose($ReadFile);
  25.             }
  26.         }
  27.         $zip->close();
  28.         $var = new Response();
  29.         $var->sendFile($file, basename($file), ['mimeType'=>'application/zip']);
  30.         $var->send();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement