强制下载php中的多个blob文件

时间:2015-12-10 15:37:02

标签: php mysql zip blob ziparchive

我想在我的平台上添加一个方法,允许用户从应用程序下载所有文件,这些文件将被压缩。每个应用程序都包含多个文件,这些文件存储在数据库中的files-table的不同行中。

我尝试了很多选项,但似乎无法将实际文件添加到zip中。

到目前为止,这是我的代码:

    $sql = "SELECT * FROM files WHERE applications_id = :applications_id"; 
    $stmt = $db->prepare($sql); 
    $stmt->bindParam(':applications_id', $applications_id, PDO::PARAM_INT); 
    $stmt->execute(); 
    $items = $stmt->fetchAll();

    $zipfilename = 'temp_' . time() . '.zip';
    $zip = new ZipArchive; 
    $zip->open($zipfilename, ZipArchive::CREATE); 
    foreach ($items as $item) { 
     //$zip->addFromString($item['filename'],$item['filename']);
    } 
    $zip->close(); 

    header('Content-Type: application/zip'); 
    header('Content-disposition: attachment; filename='.$zipfilename); 
    header('Content-Length: ' . filesize($zipfilename)); 
    readfile($zipfilename); 

    exit();

非常感谢任何帮助!

0 个答案:

没有答案