使用PHP SDK在Amazon S3上上传文件

交战的原因

我正在尝试通过他们的PHP SDK在Amazon S3上上传图片。所以我做了一个小脚本。但是,我的脚本不起作用,我的异常也没有向我发送任何错误消息。

我是AWS的新手,感谢您的帮助。

这是代码:

Config.php

<?php 

return array(
'includes' => array('_aws'),
'services' => array(
  'default_settings' => array(
      'params' => array(
          'key'    => 'PUBLICKEY',
          'secret' => 'PRIVATEKEY',
          'region' => 'eu-west-1'
      )
    )
  )
);

?>

Index.php

 <?php


//Installing AWS SDK via phar
require 'aws.phar';

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

$bucket = 'infact';
$keyname = 'myImage';

// $filepath should be absolute path to a file on disk                      
$filepath = 'image.jpg';

// Instantiate the client.
$s3 = S3Client::factory('config.php');

// Upload a file.
try {

$result = $s3->putObject(array(
    'Bucket'       => $bucket,
    'Key'          => $keyname,
    'SourceFile'   => $filePath,
    'ContentType'  => 'text/plain',
    'ACL'          => 'public-read',
    'StorageClass' => 'REDUCED_REDUNDANCY'
));

 // Print the URL to the object.
    echo $result['ObjectURL'] . "\n";
} catch (S3Exception $e) {
    echo $e->getMessage() . "\n";
}

?>

编辑:我现在正在使用此代码,但仍无法正常工作。我什至没有错误或异常消息。

    <?php

require 'aws.phar';

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

$bucket = 'infactr';
$keyname = 'sample';
// $filepath should be absolute path to a file on disk                      
$filepath = 'image.jpg';

// Instantiate the client.
$s3 = S3Client::factory(array(
    'key'    => 'key',
    'secret' => 'privatekey',
    'region' => 'eu-west-1'

    ));

try {
    // Upload data.
    $result = $s3->putObject(array(
        'Bucket' => $bucket,
        'Key'    => $keyname,
        'SourceFile'   => $filePath,
        'ACL'    => 'public-read',
        'ContentType' => 'image/jpeg'
    ));

    // Print the URL to the object.
    echo $result['ObjectURL'] . "\n";
} catch (S3Exception $e) {
    echo $e->getMessage() . "\n";
}

?>
里科

尝试这样的事情(来自AWS docs):

<?php

require 'aws.phar';

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

$bucket = '<your bucket name>';
$keyname = 'sample';
// $filepath should be absolute path to a file on disk                      
$filepath = '/path/to/image.jpg';

// Instantiate the client.
$s3 = S3Client::factory(array(
    'key'    => 'your AWS access key',
    'secret' => 'your AWS secret access key'
));

try {
    // Upload data.
    $result = $s3->putObject(array(
        'Bucket' => $bucket,
        'Key'    => $keyname,
        'SourceFile'   => $filepath,
        'ACL'    => 'public-read'
    ));



    // Print the URL to the object.
    echo $result['ObjectURL'] . "\n";
} catch (S3Exception $e) {
    echo $e->getMessage() . "\n";
}

?>

只要您拥有正确的凭据,它对我来说就很好。请记住,密钥名称是S3中文件的名称,因此,如果要使密钥具有与文件相同的名称,则必须执行以下操作:$keyname = 'image.jpg';另外,jpg通常不是plain/text文件类型,您可以忽略该Content-type字段,也可以只指定以下内容:image/jpeg

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Meteor将文件上传到Amazon S3?

来自分类Dev

如何使用C#将文件上传到Amazon S3 super easy

来自分类Dev

使用Transloadit将路径图像+文件上传到Amazon S3

来自分类Dev

如何在不使用SDK的情况下将文件从Android上传到Amazon S3

来自分类Dev

使用签名的URL将文件从angularjs直接上传到Amazon s3

来自分类Dev

使用上传到Amazon S3的JQuery文件在客户端调整图像大小

来自分类Dev

删除多个对象Amazon s3 PHP SDK

来自分类Dev

使用PHP SDK在Amazon S3上上传文件

来自分类Dev

Amazon S3 Java SDK多个文件上传

来自分类Dev

在Django上使用Amazon S3通过ImageField上传图像

来自分类Dev

如何使用AWS iOS SDK v2检查Amazon S3存储桶上密钥/文件的存在?

来自分类Dev

直接使用php将文件上传到Amazon s3

来自分类Dev

使用NodeJS将文件上传到Amazon S3

来自分类Dev

使用Ruby SDK将文件上传到Amazon S3

来自分类Dev

Amazon S3客户使用PHP SDK提供的加密

来自分类Dev

如何使用iOS将文件上传到Amazon S3并获取响应的URL

来自分类Dev

使用API在Amazon S3存储桶中创建文件夹/上传文件

来自分类Dev

如何使用nodejs在Amazon s3上上传图像并将其公开

来自分类Dev

使用Java在Amazon S3上上传大型文件(大于1 GB):大型文件临时占用服务器大量空间

来自分类Dev

使用Collectstatic在Amazon S3上编辑文件

来自分类Dev

删除多个对象Amazon s3 PHP SDK

来自分类Dev

Amazon S3 SDK for PHP中的异常处理

来自分类Dev

使用PHP SDK在Amazon S3上上传已调整大小的图像

来自分类Dev

Amazon S3客户使用PHP SDK提供的加密

来自分类Dev

使用NodeJS和S3FS / multiparty将文件上传到Amazon S3

来自分类Dev

显示使用Swift 3和Amazon SDK将图像上传到Amazon S3的上传进度

来自分类Dev

使用 Rails 中的 PaperClip 更改上传到 Amazon S3 上的图像的路径

来自分类Dev

使用 .net SDK 从 Amazon S3 存储桶下载文件夹

来自分类Dev

使用 PHP 将文件上传到 Amazon S3 存储桶 - 不使用 SDK

Related 相关文章

  1. 1

    如何使用Meteor将文件上传到Amazon S3?

  2. 2

    如何使用C#将文件上传到Amazon S3 super easy

  3. 3

    使用Transloadit将路径图像+文件上传到Amazon S3

  4. 4

    如何在不使用SDK的情况下将文件从Android上传到Amazon S3

  5. 5

    使用签名的URL将文件从angularjs直接上传到Amazon s3

  6. 6

    使用上传到Amazon S3的JQuery文件在客户端调整图像大小

  7. 7

    删除多个对象Amazon s3 PHP SDK

  8. 8

    使用PHP SDK在Amazon S3上上传文件

  9. 9

    Amazon S3 Java SDK多个文件上传

  10. 10

    在Django上使用Amazon S3通过ImageField上传图像

  11. 11

    如何使用AWS iOS SDK v2检查Amazon S3存储桶上密钥/文件的存在?

  12. 12

    直接使用php将文件上传到Amazon s3

  13. 13

    使用NodeJS将文件上传到Amazon S3

  14. 14

    使用Ruby SDK将文件上传到Amazon S3

  15. 15

    Amazon S3客户使用PHP SDK提供的加密

  16. 16

    如何使用iOS将文件上传到Amazon S3并获取响应的URL

  17. 17

    使用API在Amazon S3存储桶中创建文件夹/上传文件

  18. 18

    如何使用nodejs在Amazon s3上上传图像并将其公开

  19. 19

    使用Java在Amazon S3上上传大型文件(大于1 GB):大型文件临时占用服务器大量空间

  20. 20

    使用Collectstatic在Amazon S3上编辑文件

  21. 21

    删除多个对象Amazon s3 PHP SDK

  22. 22

    Amazon S3 SDK for PHP中的异常处理

  23. 23

    使用PHP SDK在Amazon S3上上传已调整大小的图像

  24. 24

    Amazon S3客户使用PHP SDK提供的加密

  25. 25

    使用NodeJS和S3FS / multiparty将文件上传到Amazon S3

  26. 26

    显示使用Swift 3和Amazon SDK将图像上传到Amazon S3的上传进度

  27. 27

    使用 Rails 中的 PaperClip 更改上传到 Amazon S3 上的图像的路径

  28. 28

    使用 .net SDK 从 Amazon S3 存储桶下载文件夹

  29. 29

    使用 PHP 将文件上传到 Amazon S3 存储桶 - 不使用 SDK

热门标签

归档