Reputation: 431
I am working on a web app that asks a series of questions and then generates a text document from those questions. The document is created and a download is automatically triggered on the clients browser.That works perfectly.
However, what I would like to do now is create a ZIP file from this file when it is created on the fly and add some additional files also. Though I cannot figure out if this is possible with PHP?
Can anyone advise? I have looked around, but all examples/tutorials demonstrate creating ZIP files from files that already exist in the file system?
Thanks.
Upvotes: 0
Views: 1250
Reputation: 431
So for those who are interested, I used the following code from the mentioned SO post above:
// Prepare File
$file = tempnam("tmp", "zip");
$zip = new ZipArchive();
$zip->open($file, ZipArchive::OVERWRITE);
// Stuff with content
$zip->addFromString('file_name_within_archive.ext', $your_string_data);
$zip->addFile('file_on_server.ext', 'second_file_name_within_archive.ext');
// Close and send to users
$zip->close();
header('Content-Type: application/zip');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename="file.zip"');
readfile($file);
unlink($file);
Adjusted accordingly for my requirements and it works.
Upvotes: 1