如何将文件从FTP上传或复制到S3服务器


How can I upload or copy a file from an FTP to a S3 server

我正在尝试编写一个能够将文件从FTP上传或复制到S3服务器的脚本。

为了尝试将文件上传到S3,我使用了一种方法,我以前使用表单上传图像。

方法是这样的:

public static function uploadFileToS3($from, $to, $bucket) {
    $s3 = new AmazonS3();
    AmazonLib::useSSL($s3);
    $file_upload_response= $s3->create_object($bucket, $to, array(
        "fileUpload" => $from,
        "acl" => AmazonS3::ACL_PUBLIC
    ));
    return $file_upload_response->isOK();
}

当我调用这个方法时,我发送这个参数:

$from->FTP 中文件的路径

$to->我想上传文件的文件夹

$bucket->包含从$到的文件夹的bucket

当我尝试上传时,我得到的错误是:

2016-04-19 11:25:09 (CEST) 2 Advertencia fopen(192.168.XXX.XXX/path/to/file/my_file.pdf): failed to open stream: The file or directory not exists

我找到了使用fpt_get()下载文件,然后使用我的方法上传文件的解决方案。最后,我使用unlink() 从本地机器上删除了该文件