📅  最后修改于: 2023-12-03 15:08:22.722000             🧑  作者: Mango
在 Laravel 8 中,可以使用 AWS SDK for PHP 和 Laravel 的 Flysystem 扩展来管理 AWS S3 存储桶中的图像。删除图像也是很简单的。
首先,确保已经安装了 AWS SDK for PHP 和 Flysystem,可以通过 Composer 安装。
composer require aws/aws-sdk-php league/flysystem-aws-s3-v3
在环境变量中设置 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
在代码中使用 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);
现在,可以删除存储桶中的图像。可以使用以下代码:
$filesystem->delete('path/to/image.jpg');
这将从存储桶中删除名为 path/to/image.jpg
的图像。
以上是使用 Laravel 8 从 AWS 中删除图像的步骤。我们使用了 AWS SDK for PHP 和 Flysystem 扩展,连接到 S3 存储桶,并使用 delete
方法删除图像。这里只是一个简单的例子,你可以根据自己的需求进行修改和扩展。