У меня есть таблица базы данных, содержащая многочисленные PDF-файлы blob. Я пытаюсь объединить все файлы в один ZIP-файл, который можно загрузить, а затем распечатать.Zip multiple database PDF blob files
Пожалуйста, помогите!
<?php
include '../config.php';
include '../connect.php';
$session = $_GET['session'];
$query = "SELECT $tbl_uploads.username, $tbl_uploads.description,
$tbl_uploads.type, $tbl_uploads.size, $tbl_uploads.content,
$tbl_members.session
FROM $tbl_uploads
LEFT JOIN $tbl_members
ON $tbl_uploads.username = $tbl_members.username
WHERE $tbl_members.session = '$session'";
$result = mysql_query($query) or die('Error, query failed');
$files = array();
while(list($username, $description, $type, $size, $content) =
mysql_fetch_array($result)) {
$files[] = "$username-$description.pdf";
}
$zip = new ZipArchive;
$zip->open('file.zip', ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=filename.zip');
header('Content-Length: ' . filesize($zipfilename));
readfile($zipname);
exit();
?>
Почему ваш текущий код работает? Вы получаете сообщения об ошибках? –
Создает zip-файл, который пуст. – Michael
Я думаю, что это может быть проблема с файлом/каталогом? Кроме того, нужна ли информация заголовка для записей blob? header ("Content-length: $ size"); Заголовок («Тип содержимого: тип $»); header («Content-Disposition: inline; filename = $ username- $ description.pdf»); – Michael