1

S3 のセキュリティで保護されたバケットからプログラムで zip ファイルをダウンロードしようとしています。ダウンロードがブラウザに送信されたら、領収書ページを表示したいと考えています。

しかし、代わりにブラウザーに出力されているあらゆる種類のクレイジーな文字を取得し続けます。

$url = "https://s3.amazonaws.com/{$bucket}/{$resource}?{$authentication_params}";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('response-content-type: application/zip', 'response-content-disposition: attachment', 'Expect: 100-continue'));
$response = curl_exec($ch);
curl_close($ch);

$urlFirefox のアドレス バーに入力すると、ダウンロードが機能します。ファイルをダウンロードしてから、領収書ページに進むにはどうすればよいですか?

4

2 に答える 2

1

zipファイルを正しくダウンロードするには、拡張子を付けて宛先ファイル名を指定する必要があります。
したがって、たとえば、www.url.com / myzip.zipにあるzipファイルをダウンロードする場合は、宛先ファイル名に-oパラメーターを指定する必要があります。

-oは、ダウンロードしたコンテンツをファイルに保存するようにcurlに指示します。このパラメーターを指定しない場合、curlはファイルのコンテンツ(この場合はバイナリ)を表示するだけです。
例: curl -o dave.zip https://www.url.com/myzip.zip

于 2012-05-18T23:27:07.343 に答える
1

私は単にプロセスの順序を逆にして、これにメタリフレッシュヘッダーを使用することになりました。

于 2012-07-16T17:54:14.290 に答える