2012-01-03 27 views
0

ユーザのビデオファイルをAmazon Trough S3 Classにアップロードしたいが、次のErrors.myキーと秘密鍵を与えることが有効である。 1 = S3 :: putBucket(my_bucket_name、public-read、):[SignatureDoesNotMatch]計算したリクエストの署名が、指定した署名と一致しません。あなたのキーと署名方法も確認してください。エラーは "ファイルをアップロード中に何か問題が発生しました...ごめんなさい" これはなぜ動作していないのでしょうか?S3経由でAmazonにビデオファイルをアップロード

<?php 

error_reporting(E_ERROR | E_WARNING | E_PARSE); 

if (!class_exists('S3'))require_once('S3.php'); 
if (!defined('awsAccessKey')) define('awsAccessKey', 'xxxxxxxxxxxx'); 
if (!defined('awsSecretKey')) define('awsSecretKey', 'yyyyyyyyyyyy'); 

$s3 = new S3(xxxxxxxxx,yyyyyyyyy); 

    if(isset($_POST['Submit'])){ 
$fileName = $_FILES['theFile']['name']; 
$fileTempName = $_FILES['theFile']['tmp_name']; 
$s3->putBucket("hotfit", S3::ACL_PUBLIC_READ,'EU'); 

if ($s3->putObjectFile($fileTempName, "hotfit", $fileName, S3::ACL_PUBLIC_READ)) { 
    echo "We successfully uploaded your file."; 
    }else{ 
    echo "Something went wrong while uploading your file... sorry."; 
    } 

    $bucket_contents = $s3->getBucket("hotfit"); 

    foreach ($bucket_contents as $file){ 
    $fname = $file['name']; 
    $furl = "http://hotfit.s3.amazonaws.com/".$fname; 
    echo "<a href=\"$furl\">$fname</a><br />"; 
} 
} 

?> 

<form action="" method="post" enctype="multipart/form-data"> 
    <input name="theFile" type="file" /> 
    <input name="Submit" type="submit" value="Upload"> 
</form> 

答えて

0

あなたのコードは結構ですが、私は推測する。この

if(isset($_POST['Submit'])){ 
    $fileName = $_FILES['theFile']['name']; 
    $fileTempName = $_FILES['theFile']['tmp_name']; 
    } 

以下この

 <form action="" method="post" enctype="multipart/form-data"> 
     <input name="theFile" type="file" /> 
     <input name="Submit" type="submit" value="Upload"> 
     </form> 

を入れて、

012に

$s3->putBucket("hotfit", S3::ACL_PUBLIC_READ,'EU'); 

を変更するようになります。

$s3->putBucket("hotfit", S3::ACL_PUBLIC_READ); 

は、それが

+0

私は、これは、ユーザが提出し、uは、foreachループでuはこれらすべてを行っているなかっただけで、すべてのアップロードした動画を表示打ったときuは店のユーザーがアップロードした動画にバケットを作成する必要が –

+1

を働くかもしれしようとしていますが作品を願って物事あなたはあなたが望む方法を動作させるためにあなたのコードを定式化する必要があります –

+0

アドバイス –

関連する問題