【发布时间】:2010-06-11 17:12:30
【问题描述】:
我有一个包含大量 PDF blob 文件的数据库表。我正在尝试将所有文件合并成一个 ZIP 文件,我可以下载然后打印。
请帮忙!
<?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 文件。
-
我认为可能是文件路径/目录问题?另外,我需要 blob 条目的标头信息吗? header("内容长度:$size"); header("内容类型:$type"); header("Content-Disposition: inline; filename=$username-$description.pdf");
-
你好小鲍比-bobby-tables.com
标签: php mysql database zip blob