s3文件到本地系统php

时间:2011-05-03 00:41:49

标签: amazon-s3 amazon-web-services php-5.3

如何使用php从亚马逊s3到本地系统获取文件。

我正在尝试这样做,但它不起作用

$s3 = new AmazonS3("key 1", " acces pass");
        $s3->getObject("Bucket/filename");
//write to local
        $fp = fopen('/tmp/filename.mp4', 'w');
        fpassthru($fp);

修改

我正在尝试将文件从s3

保存到本地服务器

2 个答案:

答案 0 :(得分:3)

查看getObject的文档:

您需要将远程文件名作为第二个参数传递,然后在选项中将“fileDownload”的值设置为文件名或OPEN文件资源作为参数。

示例:

$s3->getObject('myBucket','myRemoteFile', array('fileDownload' => 'localFileName'));

答案 1 :(得分:0)

从3.35.x版本的Verison AWS SDK开始,以下代码段与SaveAs一起使用。 注意buket名称,密钥和saveas以及带文件名的完整路径。

$result = $s3->getObject(array(
    'Bucket' => $bucket,
    'Key'    => $key,
    'SaveAs' => $path . $model->file_name,
));