如果您正在使用CKEditor并且希望上传图像至AWS S3媒体文件夹,但遇到问题,则可能会发现下面的代码示例有所帮助。此示例使用AWS SDK for PHP版本3,并且假定您已经设置了正确的AWS凭证。
require 'aws/aws-autoloader.php'; use Aws\S3\S3Client; use Aws\S3\Exception\S3Exception;
// 使用默认配置初始化S3客户端 $s3Client = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2' // 更改为所需的区域 ]);
// 从CKEditor表单中提取上传的文件 $file = $_FILES['upload'];
// 在S3上创建唯一的对象键 $key = sprintf( 'uploads/%s_%s', time(), $file['name'] );
try { // 将文件上载到S3 $result = $s3Client->putObject([ 'Bucket' => 'your-bucket-name', 'Key' => $key, 'SourceFile' => $file['tmp_name'] ]);
// 输出成功上传的消息
echo 'File was uploaded successfully!';
} catch (S3Exception $e) { // 输出出错的消息 echo 'Error uploading file: ' . $e->getMessage(); }
请注意,此示例中的'your-bucket-name”应更改为您的实际S3存储桶名称。此外,还要更改'uploads”中的文件夹名称,以匹配您在AWS S3媒体文件夹中创建的文件夹名称。