首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个文件上传到amazon中,使用php代码无法工作

多个文件上传到amazon中,使用php代码无法工作
EN

Stack Overflow用户
提问于 2014-04-01 06:43:33
回答 2查看 1.2K关注 0票数 2

我想使用S3 API将多个文件上传到亚马逊。

这是我的密码

代码语言:javascript
复制
<form method="POST" enctype="multipart/form-data" action="/uploadcontentintoamazone">
<input type="file" id="fileinputAllPages" name="files[]" multiple />
</form>

uploadcontentintoamazone.php

代码语言:javascript
复制
$allFiles        = $_FILES['files'];

$s3 = S3Client::factory(array(
    'key'    => '*************************',
    'secret' => '*************************'
));

foreach($allFiles['tmp_name'] as $file){

    $pathToFileSingle = $file;
    $destFilePath     = 'destination file name';

    $commands[]           = $s3->getCommand('PutObject', array(
        'Bucket'          => 'application-data',
        'Key'             => $destFilePath.$file,
        'SourceFile'      => $pathToFileSingle,
        'ACL' => 'public-read'
    ));

}

$s3->execute($commands);
foreach ($commands as $command) {
    $result = $command->getResult();
}

API集成正在完美地工作。但是临时文件是上传的,而不是我上传的文件。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-01 06:47:38

试着这样做:

代码语言:javascript
复制
for($i=0; $i<count($_FILES['files']['name']); $i++) {    
    $pathToFileSingle = $_FILES['upload']['tmp_name'][$i];
    $destFilePath     = 'destination file name' . $_FILES['upload']['name'][$i];

     $commands[]           = $s3->getCommand('PutObject', array(
        'Bucket'          => 'application-data',
        'Key'             => $destFilePath,
        'SourceFile'      => $pathToFileSingle,
        'ACL' => 'public-read'
    ));
}
票数 1
EN

Stack Overflow用户

发布于 2014-04-01 06:50:09

在错误的数组上迭代,需要这样做:

代码语言:javascript
复制
foreach($allFiles as $file) {

    $pathToFileSingle = $file["tmp_name"];
    $destFilePath     = $file["name"];

(您也没有正确设置目标文件名)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22778642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档