download multiple qrcodes at once feature
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* PHP Dynamic Qr code
|
||||
*
|
||||
* @author Giandonato Inverso <info@giandonatoinverso.it>
|
||||
* @copyright Copyright (c) 2020-2021
|
||||
* @license https://opensource.org/licenses/MIT MIT License
|
||||
* @link https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once 'config/config.php';
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$db = getDbInstance();
|
||||
$json = json_decode(file_get_contents('php://input'), true);
|
||||
$action = filter_var($json['action'], FILTER_SANITIZE_STRING);
|
||||
$params = $json['params'];
|
||||
$files = [];
|
||||
$type = filter_var($json['type'], FILTER_SANITIZE_STRING);
|
||||
|
||||
foreach ($params as $param) {
|
||||
$row = $db->where('id', $param);
|
||||
$row = $db->getOne("{$type}_qrcodes");
|
||||
$files[] = './saved_qrcode/' . $row['qrcode'];
|
||||
}
|
||||
|
||||
$zip = new ZipArchive();
|
||||
$relative_dir = './saved_qrcode/zip/qrcodes_'. $_SESSION['user_id'] .'.zip';
|
||||
unlink($relative_dir);
|
||||
$url_path = base_url() . '/saved_qrcode/zip/qrcodes_'. $_SESSION['user_id'] .'.zip';
|
||||
$zip->open($relative_dir, ZipArchive::CREATE);
|
||||
|
||||
foreach ($files as $file) {
|
||||
$download_file = file_get_contents($file, true);
|
||||
$zip->addFromString(basename($file), $download_file);
|
||||
}
|
||||
|
||||
$zip->close();
|
||||
|
||||
echo json_encode([
|
||||
'data' => $url_path,
|
||||
'status' => 200
|
||||
]);
|
||||
exit();
|
||||
} else {
|
||||
exit('Direct access to this script not allowed.');
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user