I am trying to add functionality to my website where users can download multiple image files via a single `.zip` folder. Currently I have this code executing but when i open the downloaded zip file it extracts another zip file `my-archive (3) 2.zip.cpgz` and every time I try to open it, it extracts yet another zip file.

Here is my basic code using php native zip feature.

```
$image1 = "http://cdn.screenrant.com/wp-content/uploads/Darth-Vader-voiced-by-Arnold-Schwarzenegger.jpg";
$image2 = "http://cdn.screenrant.com/wp-content/uploads/Star-Wars-Logo-Art.jpg";

$files = array($image1, $image2);
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
    $zip->addFile($file);
}
$zip->close();

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

```

EDIT

I am trying hard to get the provided answer to work. I just tried the most recent edit and got this error

![ [](https://i.stack.imgur.com/5rSi0.png)]