2012-01-03 4 views
0

Я хочу ЗАГРУЗИТЬ пользовательские видеофайлы в Amazon Trough S3 Class, но он дает следующий ключ и секретный ключ Errors.my. 1 = S3 :: putBucket (my_bucket_name, public-read,): [SignatureDoesNotMatch] Подписанная нами подпись запроса не соответствует предоставленной вами подписи. Проверьте свой ключ и метод подписи, также ошибка «Что-то пошло не так, когда вы загружаете файл ... извините». у любого есть идея, почему это не работает?Загрузка видеофайлов в Amazon Through S3

<?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

выглядит ваш код хорошо, но я думаю, поставить этот

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

ниже этого

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

и изменить

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

к

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

надеюсь, что он работает

+0

я пытаюсь это может быть это работает –

+1

и нужно сделать ведро для хранения загружены пользователями видео, когда пользователь попал представить и показать все загруженные видео только у же в цикле Еогеасп у сделали все эти все, что вам нужно, чтобы сформировать ваш код, чтобы работать так, как вы хотите –

+0

thanx для получения рекомендаций –

Смежные вопросы