1

我正在使用它来创建即时压缩和从亚马逊存储桶交付文件:

例如,这可以传递给文件:index.php?q=movie1.m4v|movie2.m4v

我用过这个:http ://pablotron.org/software/zipstream-php/效果很好。

但是下面的代码不起作用:

require 'zipstream.php';

$q = $_GET["q"];
$files = explode("|", $q);


foreach ($files as $i) {
  $zip->add_file_from_path($files[i], "http://[amazon bucket link here]" + $files[i]);

}

$zip->finish();

但这不起作用。它给了我一个空的 zip 文件。

当我手动执行此操作时,它可以正常工作:

$zip->add_file_from_path('movie1.m4v', 'http://[amazon bucket]/movie1.m4v');

我相信标题是在读取查询字符串之前发送的,这会弄乱我的 php 文件中的以下代码,对吗?我该如何解决这个问题?

谢谢

现在解决的应该是 $files[$i] 和 . 用于串联。不是 $files[i] 和 + 。Javascript 编码习惯让我很困惑

工作版本:

$q = $_GET["q"];
$files = explode("|", $q);

# load zipstream class
require 'zipstream.php';

$zip = new ZipStream('download.zip');


for ($i = 0; $i < count($files); ++$i) {
    $zip->add_file_from_path($files[$i], "http://[amazon bucket]" . $files[$i]);
}

$zip->finish();
4

0 回答 0