我创建了一个zip文件。但我不在我的托管中创建任何文件。我想虚拟创建一个zip文件(即Temp Memory),然后下载它。我将如何使用PHP完成此过程?
答案 0 :(得分:1)
引用nettle that answered this in a previoues question
我有同样的问题,但终于找到了一个有点模糊的解决方案 并决定在这里分享。
我遇到了很棒的zip.lib.php / unzip.lib.php脚本 使用phpmyadmin并位于“libraries”目录中。
使用zip.lib.php作为我的魅力:
require_once(LIBS_DIR . 'zip.lib.php');
...
//create the zip $zip = new zipfile();
//add files to the zip, passing file contents, not actual files
$zip->addFile($file_content, $file_name);
...
//prepare the proper content type header("Content-type:
application/octet-stream"); header("Content-Disposition: attachment;
filename=my_archive.zip"); header("Content-Description: Files of an
applicant");
//get the zip content and send it back to the browser echo
$zip->file();
这个脚本允许下载一个zip,没有 需要将文件作为真实文件或将zip本身保存为 文件。
遗憾的是,此功能不是更通用的功能的一部分 PHP库。
以下是phpmyadmin源码中zip.lib.php文件的链接: https://github.com/phpmyadmin/phpmyadmin/blob/master/libraries/zip.lib.php
确保从头开始删除以下检查 zip.lib.php,否则脚本会终止:
if (! defined('PHPMYADMIN')) {
exit;
}