我正在使用它来创建从亚马逊桶中即时压缩和传送文件:
例如,这可以传递给文件: 的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]和。为了cocatenation。不是$ 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();