2015-07-25 2 views
2

Я пытался загрузить изображение на сервер Amazon S3, но показывает сообщение об ошибке,при загрузке изображений на сервер amazon s3 получение InvalidAccessKeyId ошибки, как это решить?

Использование неопределенной постоянной CURL_SSLVERSION_TLSv1 - предполагаемую 'CURL_SSLVERSION_TLSv1', S3 :: putBucket (chlogo1, общественные чтения,): [InvalidAccessKeyId ] Идентификатор ключа доступа AWS, который вы указали, не существует в наших записях. и S3 :: putObject(): [InvalidAccessKeyId] Идентификатор ключа доступа AWS, который вы предоставили, не существует в наших записях.

вот мой код

  if (!class_exists('S3'))require_once('S3.php'); 

     //AWS access info 
     if (!defined('awsAccessKey')) define('awsAccessKey', 'my_access_key'); 
     if (!defined('awsSecretKey')) define('awsSecretKey', 'my_secret_key'); 

     //instantiate the class 
     $s3 = new S3(awsAccessKey, awsSecretKey); 
         //retreive post variables 
     $fileName = $_FILES['logo']['name']; 
     $fileTempName = $_FILES['logo']['tmp_name']; 
     //create a new bucket 
     $s3->putBucket("chlogo1", S3::ACL_PUBLIC_READ); 
     //move the file 
     if ($s3->putObjectFile($fileTempName, "chlogo1", $fileName, S3::ACL_PUBLIC_READ)) { 
      echo "<strong>We successfully uploaded your file.</strong>"; 
     }else{ 
      echo "<strong>Something went wrong while uploading your file... sorry.</strong>"; 
     } 

ответ

1

если вы используете CodeIgniter просто добавить библиотеку S3 и использовать следующий код он поможет вам

 $this->load->library('s3'); 

    $name = $_FILES['logo']['name']; 
    $size = $_FILES['logo']['size']; 
    $tmp = $_FILES['logo']['tmp_name']; 

    $bucket = 'chlogo1'; 
    $this->s3->putObjectFile($tmp, $bucket , $name, S3::ACL_PUBLIC_READ) 

получить ключ доступа и секретный ключ и добавьте его в s3.php, который находится в папке конфигурации

$config['access_key'] = "xxxxxxxxxxxxxx"; 
$config['secret_key'] = "xxxxxxxxxxxxxx";