Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP将BLOB的zip文件(从数据库中)作为图像下载到本地存储中_Php_Database_Image_Blob_Zipfile - Fatal编程技术网

使用PHP将BLOB的zip文件(从数据库中)作为图像下载到本地存储中

使用PHP将BLOB的zip文件(从数据库中)作为图像下载到本地存储中,php,database,image,blob,zipfile,Php,Database,Image,Blob,Zipfile,我有一个表单,我们从用户那里获取数据。图像作为blob存储在数据库中。现在,我希望所有响应的图像都存储在本地存储器(计算机)中 Zip文件已下载,但在提取时显示错误。当我尝试只下载一张图片时,它没有显示预览。 如何将所有blob文件作为图像下载到我的计算机(zip文件)?您设置了所有的标题,但没有实际输出zip文件()这里显示的代码中是否缺少此文件?哦,我忘了,这是一个愚蠢的错误。非常感谢奈杰尔·伦 <?php include 'config.php'; session_start()

我有一个表单,我们从用户那里获取数据。图像作为blob存储在数据库中。现在,我希望所有响应的图像都存储在本地存储器(计算机)中


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));
?>