从s3存储桶中删除文件

时间:2017-12-02 08:06:22

标签: php symfony amazon-s3

我已经在php-symfony2中创建了一个上传和下载服务。它工作正常。现在我要删除上传的文件。任何示例?

注意:没有数据存储到数据库表。

5 个答案:

答案 0 :(得分:2)

在尝试了很多解决方案之后,我找到了最适合我的解决方案。

   SELECT 
   fname, lname, v.propertyno, 
   street, email 
  FROM
   Viewing v where v.propertyno IS NOT 
        NULL 
    INNER JOIN
     PropertyForRent p ON 
     v.propertyno =  p.propertyno
       INNER JOIN 
      Client ON Viewing.clientno = 
      Client.clientno
      ORDER BY 
       fname

答案 1 :(得分:1)

您可以使用aws s3 delete API方法删除上传的文件。你可以像下面那样实现它。

使用Aws \ S3 \ S3Client;

$ s3 =新S3(awsAccessKey,awsSecretKey);

$ s3-> deleteObject(" bucketname",filename);

答案 2 :(得分:1)

您可以使用 deleteObject()方法,参考doc

use Aws\S3\S3Client;

$s3 = S3Client::factory();

$bucket = '*** Your Bucket Name ***';
$keyname = '*** Your Object Key ***';

$result = $s3->deleteObject(array(
    'Bucket' => $bucket,
    'Key'    => $keyname
));       

答案 3 :(得分:1)

删除一个对象(非版本化存储桶)

  1. 使用 Aws \ S3 \ S3Client类factory()创建S3客户端实例。

    $ s3 = S3Client :: factory();

  2. 使用存储桶名称和密钥名称执行Aws \ S3 \ S3Client :: deleteObject()方法。

    $ result = $ s3-> deleteObject(array(     '铲斗' => $桶,     '关键' => $键名 ));

  3. 如果启用了版本控制,则会添加DELETE MARKER。 (Reference

    示例

    import nprogress from 'nprogress'; // <- using default import here
    import { bindable, noView } from 'aurelia-framework';
    
    @noView
    export class LoadingIndicator {
        @bindable loading = false;
    
        loadingChanged(newValue) {
            if (newValue) {
                nprogress.start();
            } else {
                nprogress.done();
            }
        }
    }
    

    可以找到更多参考here

答案 4 :(得分:0)

不幸的是,Arsalan 的回答似乎不再有效。对我有用的方法是:

    $this->s3 = new S3Client([
      'driver' => 's3',
      'version' => 'latest',
      'region'  => env('AWS_DEFAULT_REGION'),
      'credentials' => [
        'key' => env('AWS_ACCESS_KEY_ID'), 
        'secret' => env('AWS_SECRET_ACCESS_KEY')
      ]
    ]);

    $this->s3->putObject([
      'Bucket' => env('AWS_BUCKET'),  
      'Key'    => env('AWS_SECRET_ACCESS_KEY'),
      'Body'   => $body,
      'Key'    => $key
    ]);