this is my first time attempting to create a ZIP File in PHP.
What I am doing is, my PHP will search for files in a certain directory, grab them all and save them into a ZIP File. The zip file will then send the file to the browser to download. I am very close, but I am stuck at a certain part.
Here is my code:
$zip = new ZipArchive(); if ($zip->open('test.zip', ZIPARCHIVE::CREATE) !== TRUE) { die ("Could not open archive"); } $myDirectory = opendir("../folder/plugins/".$id.""); while($entryName = readdir($myDirectory)) { $dirArray[] = $entryName; } closedir($myDirectory); $indexCount = count($dirArray); sort($dirArray); for($index=0; $index < $indexCount; $index++) { if (substr("$dirArray[$index]", 0, 1) != "."){ $file = "".$myDirectory."".$dirArray[$index].".zip"; $zip->addFile($file, $file) or die ("cant add file"); ; echo $dirArray[$index]; echo '</br>'; }} $zip->close()or die("cant close"); I am getting the 'can't close' error when attempting to close. Please help me here, I can't find what I'm doing wrong in my code. This is what it is printing:
filename1.png filename2.png can't close :)
getStatusString?$zip->addFile($file, $file) or die ("cant add file"); ;(double semicolon),$file = "".$myDirectory."".$dirArray[$index].".zip";can be better written as$file = "${myDirectory}${dirArray[$index]}.zip, and in general for readability it's not a good idea to combine lines of code on one line as inecho $dirArray[$index]; echo '</br>';.