3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Get folder name $folder = $params['folder']; $zipFolder = $folder . '.zip'; // Get instance of ZipArchive $zipArchive = new ZipArchive(); // Open zip archive $zipArchive->open($zipFolder, ZIPARCHIVE::CREATE); $zipArchive->addEmptyDir($folder); //zipFolderFiles($folder, $zipArchive); // Close zip archive $zipArchive->close(); // Download archive header('Content-Type: application/zip'); header('Content-disposition: attachment; filename=' . $zipFolder); header('Content-Length: ' . filesize($zipFolder)); readfile($zipFolder); // Recursive zip creation function function zipFolderFiles($dir, &$zipArchive) { //$base_path = './uploads/tenders/'; //$ffs = scandir($base_path . $dir); //if (!is_array($ffs) || empty($ffs)) return; //foreach ($ffs as $ff) { // if ($ff != '.' && $ff != '..') { // if (is_dir($base_path . $dir . '/' . $ff)) { // $zipArchive->addEmptyDir($ff); // zipFolderFiles($dir . '/' . $ff, $zipArchive); // } else { // $zipArchive->addFile($base_path . $dir . '/' . $ff, $ff); // } // } //} }

preferences:
42.79 ms | 402 KiB | 5 Q