📜  如何使用 laravel 8 从 aws 中删除图像 - PHP (1)

📅  最后修改于: 2023-12-03 15:08:22.722000             🧑  作者: Mango

如何使用 Laravel 8 从 AWS 中删除图像

在 Laravel 8 中,可以使用 AWS SDK for PHP 和 Laravel 的 Flysystem 扩展来管理 AWS S3 存储桶中的图像。删除图像也是很简单的。

步骤
  1. 首先,确保已经安装了 AWS SDK for PHP 和 Flysystem,可以通过 Composer 安装。

    composer require aws/aws-sdk-php league/flysystem-aws-s3-v3
    
  2. 在环境变量中设置 AWS 的凭据(access key 和 secret key)和默认存储桶。

    AWS_ACCESS_KEY_ID=your-access-key-id
    AWS_SECRET_ACCESS_KEY=your-secret-access-key
    AWS_DEFAULT_REGION=your-default-region
    AWS_BUCKET=your-bucket-name
    
  3. 在代码中使用 AWS 和 Flysystem 连接到 S3 存储桶。可以使用以下代码:

    use Aws\S3\S3Client;
    use League\Flysystem\AwsS3V3\AwsS3V3Adapter;
    use League\Flysystem\Filesystem;
    
    $s3 = new S3Client([
        'version' => 'latest',
        'region' => env('AWS_DEFAULT_REGION'),
        'credentials' => [
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
        ],
    ]);
    
    $adapter = new AwsS3V3Adapter($s3, env('AWS_BUCKET'));
    
    $filesystem = new Filesystem($adapter);
    
  4. 现在,可以删除存储桶中的图像。可以使用以下代码:

    $filesystem->delete('path/to/image.jpg');
    

    这将从存储桶中删除名为 path/to/image.jpg 的图像。

总结

以上是使用 Laravel 8 从 AWS 中删除图像的步骤。我们使用了 AWS SDK for PHP 和 Flysystem 扩展,连接到 S3 存储桶,并使用 delete 方法删除图像。这里只是一个简单的例子,你可以根据自己的需求进行修改和扩展。