标签:style c class blog code java
最近用codeigniter开发一个图片网站,发现单文件下载很容易实现,批量下载的话,不是很容易实现。
以下是参考网上的例子,编写的一个测试文件,遇到同样问题而不知道如何处理的朋友们可以参考下。
思路:
① 把要下载的图片信息组合到$imgs数组中
② 把要下载的图片打包成zip压缩包
③ 下载压缩包,删除服务器上的临时zip文件
<?php $imgs[] = ‘http://demo.pic.com/column_f/large/IMG_Af8P_15.jpg‘; $imgs[] = ‘http://demo.pic.com/column_f/large/IMG_l89P_08.jpg‘; $filename = ‘tmp.zip‘; $zip = new ZipArchive(); $zip->open($filename, ZipArchive::OVERWRITE); foreach ($imgs as $key=>$vo) { $fileData = file_get_contents($vo); if ($fileData) { $zip->addFromString($key.‘.jpg‘, $fileData); } } $zip->close(); $file = fopen($filename, "r"); Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: " . filesize($filename)); Header("Content-Disposition: attachment; filename=imgages.zip"); //一次只传输1024个字节的数据给客户端 $buffer = 1024; // while (!feof($file)) { //将文件读入内存 $file_data = fread($file, $buffer); //每次向客户端回送1024个字节的数据 echo $file_data; } fclose($file); unlink($filename); //删除文件
标签:style c class blog code java
原文地址:http://www.cnblogs.com/shaoyikai/p/3755079.html