aws s3使用php sdk将目录上载到bucket

aws s3使用php sdk将目录上载到bucket,php,amazon-s3,Php,Amazon S3,这是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/his

这是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 

通常我可以用PHPSDK清晰地上传文件,除了上传文件夹功能。我找不到哪里是假的。我的PHPSDK版本是2.7

我明白了。它可以在本地服务器上工作,比如xampp或其他什么,但不能在远程服务器上工作。

错误似乎很明显。无法打开目录:没有这样的文件或目录,或者目录不存在,或者您的脚本对其没有权限。请确定它有权限。本地服务器没有什么神奇之处。你搞乱了一些事情,目录的权限可能不正确。