簡體   English   中英

AWS S3使用php SDK將目錄上傳到存儲桶

[英]aws s3 uploading a directory to a bucket with php sdk

這是EC2服務器中名為upload.php的php文件

require 'vendor/autoload.php';
use Aws\S3\S3Client;

$client = S3Client::factory(array(
            'key' => 'aws-secret-key',
            'secret' => 'aws-very-secret-pass',
        ));
$dir = '/home/user/movies/history';
$bucket = 'my-unique-bucket';
$keyPrefix = '';
$options = array(
    'params'      => array('ACL' => 'public-read'),
    'concurrency' => 20,
    'debug'       => true
);



$client->uploadDirectory($dir, $bucket, $keyPrefix, $options);

當我在終端中執行upload.php文件時,會返回致命錯誤,如下所示:

PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'RecursiveDirectoryIterator::__construct(/home/kaya/Resimler/transferet/): failed to open dir: No such file or directory' in /var/www/html/vendor/aws/aws-sdk-php/src/Aws/S3/Sync/UploadSyncBuilder.php:47                                             
Stack trace:



#0 /var/www/html/vendor/aws/aws-sdk-php/src/Aws/S3/Sync/UploadSyncBuilder.php(47): RecursiveDirectoryIterator->__construct('/home/user/movie...', 12800)           
#1 /var/www/html/vendor/aws/aws-sdk-php/src/Aws/S3/S3Client.php(557): Aws\S3\Sync\UploadSyncBuilder->uploadFromDirectory('/home/user/movie...')                    
#2 /var/www/html/upload_dir.php(21): Aws\S3\S3Client->uploadDirectory('/home/user/movie...', 'my-unique-bucket', '', Array)                                                 
#3 {main}



  thrown in /var/www/html/vendor/aws/aws-sdk-php/src/Aws/S3/Sync/UploadSyncBuilder.php on line 47 

通常,除了uploadfolder功能外,我可以使用php sdk清楚地上傳文件。 我找不到哪里是假的。 我的PHP SDK版本是2.7。

我想到了。 它適用於xampp之類的本地服務器,不適用於遠程服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM