これを使用して、オンザフライの圧縮と 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ファイルを与えます。
手動で行うと、正常に動作します。
$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();