使用PHP将BLOB的zip文件(从数据库中)作为图像下载到本地存储中
我有一个表单,我们从用户那里获取数据。图像作为blob存储在数据库中。现在,我希望所有响应的图像都存储在本地存储器(计算机)中使用PHP将BLOB的zip文件(从数据库中)作为图像下载到本地存储中,php,database,image,blob,zipfile,Php,Database,Image,Blob,Zipfile,我有一个表单,我们从用户那里获取数据。图像作为blob存储在数据库中。现在,我希望所有响应的图像都存储在本地存储器(计算机)中 Zip文件已下载,但在提取时显示错误。当我尝试只下载一张图片时,它没有显示预览。 如何将所有blob文件作为图像下载到我的计算机(zip文件)?您设置了所有的标题,但没有实际输出zip文件()这里显示的代码中是否缺少此文件?哦,我忘了,这是一个愚蠢的错误。非常感谢奈杰尔·伦 <?php include 'config.php'; session_start()
Zip文件已下载,但在提取时显示错误。当我尝试只下载一张图片时,它没有显示预览。
如何将所有blob文件作为图像下载到我的计算机(zip文件)?您设置了所有的标题,但没有实际输出zip文件()这里显示的代码中是否缺少此文件?哦,我忘了,这是一个愚蠢的错误。非常感谢奈杰尔·伦
<?php
include 'config.php';
session_start();
$table_name = $_SESSION["table"];
$zip = new ZipArchive();
$ZipFileName = $table_name . '.zip';
if ($zip->open($ZipFileName, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE) !== true) {
echo "Cannot Open";
}
$zip->addEmptyDir('newFolder');
$query = mysqli_query($con, "SELECT * FROM $table_name");
while($row = mysqli_fetch_assoc($query)) {
$temp = $row['student_id'] . '.jpg';
$zip->addFromString($temp, $row['photo']);
}
$zip->close();
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename=' . $ZipFileName);
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
header("Content-length: " . filesize($ZipFileName));
?>