Zipstream - PHP получает строку запроса перед выходными заголовками

Я использую это для создания архивирования на лету и доставки файлов из корзины Amazon:

Например, это можно передать в файл: 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->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();

0 ответов

Другие вопросы по тегам