0

EC2マイクロインスタンスを介してAmazonS3プライベートオブジェクトをダウンロードしようとしています(undesigned.org.za S3 PHPクラスを使用)。これが私のスクリプトです。実際にはスクリプトは機能していますが、ダウンロードを開始するのに数秒かかる場合があります。使用したヘッダーにはあまり自信がありません。すべての提案は本当にありがたいです。

同じリージョンにある私のS3バケットとEC2インスタンス(現在はそのマイクロインスタンス)。

if (!class_exists('S3')) require_once '../include/S3.php';
$s3 = new S3("XXXXXXXXXXXXXX", "xxxxxxxxxxxxxx");

    $fileX=filename.mp3;// File Name
    $bucket='mybucket';
    $uri="username/public/filename.mp3"; // File path inside bucket

    //undesigned.org.za S3 PHP Class

    $info = $s3->getObjectInfo($bucket, $uri);
    $file = S3::getAuthenticatedURL($bucket, $uri, 3600);

    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='."\"$fileX\"");
    header('Content-Transfer-Encoding: binary');
    header('Cache-Control: max-age=28800');
    header('Expires:' . gmdate('D, d M Y H:i:s T', strtotime('+8 hours')));
    header('Content-Length: '.$info[size]);
    ob_clean();
    flush();
    readfile($file);

私の質問は、

  1. 応答時間が長くなるのはなぜですか?
  2. 正しいヘッダーを使用しましたか?
  3. これを行うのに最適なS3PHPクラスは何ですか?
4

0 に答える 0