фотографии не загружаются в ведро s3 с помощью php - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь загрузить изображения в корзину s3 через экземпляр ec2. Но изображения не загружаются на s3. Я мог бы убедиться, что они загружаются в экземпляр ec2. Существует некоторая проблема при загрузке на s3. Я понял, что функция загрузки не работает, но я не уверен. Я пытаюсь решить эту проблему с двух дней. Любая помощь будет принята с благодарностью.

EC2 - это Linux-машина. на нем установлены cURL и PHP-cURL. Изображения сохраняются в папке «Загрузка». Amazon SDK устанавливаются путем распаковки.

<?php
//use Aws\S3\ObjectUploader;
use Aws\S3\MultipartUploader;
use Aws\Common\Exception\S3Exception;
use Aws\S3\S3Client;
use Aws\Exception\MultipartUploadException;
require 'aws-autoloader.php';
    $uploaddir = 'uploads/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
    echo "1";
    $s3_client = new S3Client([
      'profile' => 'default',
      'version' => 'latest',
      'region' => 'ap‐southeast‐2']);
    echo "2";

    $bucketName = 'ramyaassignment1b';
    $key ='a.jpg';

    echo "<p>";

    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
      echo "File is valid, and was successfully uploaded.\n";
      echo "3";
      //$uploadfile= dirname(__FILE__).'uploads/a.jpg';
      $uploader = new MultipartUploader( $s3_client, $uploadfile, ['bucket'=>$bucketName, 'key'=>basename($_FILES['userfile']['name'])]);
      //$uploader = new ObjectUploader($s3_client,$bucketName,$key,$uploadfile);
      echo "4";
          try {
            $uploader->upload();
            echo "5";
    //echo "Upload complete: {$result['ObjectURL']}\n";
} catch (MultipartUploadException $e) {
    echo $e->getMessage() . "\n";
    echo "6";
}
    } else {
       echo "Upload failed";
}
    ?>

Я не вижу ошибок. И никакие файлы не загружаются. Я мог видеть, что номер 4 печатается, но после этого 5 или 6 не печатается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...