I have an .srt file located in the files/srt/username/filename.srt directory. I need to be able to download it in the browser, but to make this possible I have to zip the file first. I found the following code online:
function download_zip() {
if (isset($_POST['download_srt'])) {
$zip = new ZipArchive();
$zip->open("files/srt/".$_SESSION['user_name']."/".$_POST['download_srt'].".zip", ZipArchive::CREATE);
// output: files/srt/username/filename.srt.zip
$zip->addFile($_POST['download_srt']);
// output of $_POST['download_srt']: filename.srt
$zip->close();
}
}
The code is called when a submit button is pressed and the $_POST data are sent. The function works, but no ZIP file gets created in the same directory as the original srt file. No error messages appear.
You should provide the correct path to the file to add:
$zip->addFile("files/srt/".$_SESSION['user_name']."/".$_POST['download_srt']);