以下是一个使用腾讯云对象存储(COS)的PHP文件上传函数的示例:
<?php
require_once 'vendor/autoload.php'; // 引入 COS SDK
use Qcloud\Cos\Client;
function uploadFileToCos($file, $bucket, $region, $secretId, $secretKey) {
$cosClient = new Client([
'region' => $region,
'credentials' => [
'secretId' => $secretId,
'secretKey' => $secretKey,
],
]);
// 生成文件在 COS 中的唯一键
$key = 'uploads/' . uniqid() . '-' . $file['name'];
try {
$result = $cosClient->putObject([
'Bucket' => $bucket,
'Key' => $key,
'Body' => fopen($file['tmp_name'], 'rb'),
]);
// 返回文件在 COS 中的访问 URL
return $result['ObjectURL'];
} catch (\Exception $e) {
// 处理上传错误
return false;
}
}
// 使用示例
$bucket = 'your-bucket-name';
$region = 'your-bucket-region';
$secretId = 'your-secret-id';
$secretKey = 'your-secret-key';
if ($_FILES['file']) {
$file = $_FILES['file'];
$uploadedUrl = uploadFileToCos($file, $bucket, $region, $secretId, $secretKey);
if ($uploadedUrl) {
echo '文件上传成功,访问 URL:' . $uploadedUrl;
} else {
echo '文件上传失败';
}
}
?>
请确保已安装腾讯云 COS SDK(可以使用Composer进行安装),并替换示例代码中的 your-bucket-name
、your-bucket-region
、your-secret-id
和 your-secret-key
为您自己的腾讯云 COS 配置信息。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站