我在数据库中将各种图像拆分为 blob 文件。我编写了一个 php 脚本来访问这些 blob 文件并将它们下载到本地。
由于有很多图像,我放置了一个循环来下载存储在数据库中的所有图像,但是当我在循环中运行脚本时,我得到一个大的下载并且没有单独的图像。
我的代码如下:
$query="SELECT `id` FROM `images` LIMIT 10";
$result=mysql_query($query);
$imageid = array();
while($row = mysql_fetch_assoc($result)){
//iterate over all the fields
foreach($row as $key){
$imageid[] = $key;
}
}
$fileName ='';
for ($i = 0; $i < count($imageid); $i++) {
$query="SELECT `filename` FROM `images` WHERE `id`=".$imageid[$i]."";
$result=mysql_query($query);
while($row = mysql_fetch_assoc($result)){
foreach($row as $key){
$fileName = $key;
}
}
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary");
header('Content-type: application/octet-stream');
header('Content-Disposition: inline; filename='.$fileName.'');
$sql = "SELECT `data` FROM `images_data` WHERE `image_id`=".$imageid[$i]." ORDER BY id";
$result1=mysql_query($sql);
while($row = mysql_fetch_array($result1)) echo $row['data'];
}//END FOR LOOP
有什么办法可以通过运行脚本下载所有图像?如果我手动更改 $imageid[$i] 的参数(例如 0,1,2,3 等),将下载不同的图像,但对于我必须使用的图像数量来说它是无用的。
任何帮助深表感谢!