当前位置: 首页 > news >正文

php使用腾讯云服务

安装 组件

//这个全量组件
composer require tencentcloud/tencentcloud-sdk-php:^3.0
//在安装一个cos 的组件
composer require qcloud/cos-sdk-v5:^2.6
//如果失败了,应该是 composer 的镜像问题,切换到默认镜像
composer config -g --unset repos.packagist
//获取切换到腾讯云的镜像
composer config -g repo.packagist composer https://mirrors.tencent.com/composer/

cos 怎么用,静态云存储(后台上传)(uniapp回头写示例)

后端生成临时 密钥
$sts = new Sts();$config = array('url' => 'https://sts.tencentcloudapi.com/', // url和domain保持一致'domain' => 'sts.tencentcloudapi.com', // 域名,非必须,默认为 sts.tencentcloudapi.com'proxy' => '','secretId' => "xxx", // 固定密钥,若为明文密钥,请直接以'xxx'形式填入,不要填写到getenv()函数中'secretKey' => "xxx", // 固定密钥,若为明文密钥,请直接以'xxx'形式填入,不要填写到getenv()函数中'bucket' => 'xxx', // 换成你的 bucket'region' => 'ap-nanjing', // 换成 bucket 所在园区 'durationSeconds' => 1800, // 密钥有效期'allowPrefix' => array('*'), // 这里改成允许的路径前缀,可以根据自己网站的用户登录态判断允许上传的具体路径,例子: a.jpg 或者 a/* 或者 * (使用通配符*存在重大安全风险, 请谨慎评估使用)// 密钥的权限列表。简单上传和分片需要以下的权限,其他权限列表请看 https://cloud.tencent.com/document/product/436/31923'allowActions' => array (// 简单上传'name/cos:PutObject','name/cos:PostObject',// 分片上传'name/cos:InitiateMultipartUpload','name/cos:ListMultipartUploads','name/cos:ListParts','name/cos:UploadPart','name/cos:CompleteMultipartUpload'),// 临时密钥生效条件,关于condition的详细设置规则和COS支持的condition类型可以参考 https://cloud.tencent.com/document/product/436/71306"condition" => array());// 获取临时密钥,计算签名
$tempKeys = $sts->getTempKeys($config);
View::assign('tempKeys',$tempKeys);
前端上传
查看官方文档 https://cloud.tencent.com/document/product/436/109014
<div class="row cl wenzhang"><label class="form-label col-xs-3 col-sm-2">上传视频:</label><div class="formControls col-xs-9 col-sm-9"><div class="uploader-thum-container"> <a href="javascript:void();" class="btn btn-success radius"><i class="icon Hui-iconfont">&#xe642;</i> 选择视频上传</a><input type="file" id="input-file" class="input-file" onchange='onpicv(this)'  accept='video/*' style="font-size: 20px;left:0;" /></div><div class="progress" style="display: none; margin-top:8px;"><div class="progress-bar"><span class="sr-only" style="width:0%"></span></div></div></div>
</div>
<script type="text/javascript" src="__INDEX__js/wxobs.js"></script> 
function onpicv() {var file = document.getElementById("input-file").files[0];const cos = new COS({SecretId:'{$tempKeys.credentials.tmpSecretId}', // sts服务下发的临时 secretIdSecretKey: '{$tempKeys.credentials.tmpSecretKey}', // sts服务下发的临时 secretKeySecurityToken: '{$tempKeys.credentials.sessionToken}', // sts服务下发的临时 SessionTokenStartTime: {$tempKeys.startTime}, // 建议传入服务端时间,可避免客户端时间不准导致的签名错误ExpiredTime: {$tempKeys.expiredTime}, // 临时密钥过期时间});const date = new Date();const path = `${date.getFullYear()}${String(date.getMonth()+1).padStart(2,'0')}${String(date.getDate()).padStart(2,'0')}`;let key = 'dalian/mp4/'+path+'/'+file['name'];cos.putObject({Bucket: 'xxxx', // 填入您自己的存储桶,必须字段Region: 'ap-nanjing',  // 存储桶所在地域,例如 ap-beijing,必须字段Key: key,  // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段Body: file, // 必须,上传文件对象,可以是 input[type="file"]标签选择本地文件后得到的 file 对象onProgress: function(progressData) {console.log(JSON.stringify(progressData),4444,progressData.percent);$('.progress').show()$('.progress .sr-only').width(progressData.percent*100+'%')}}, function(err, data) {if (err) {console.log('上传失败', err);} else {console.log('上传成功', data);$('.progress').hide()let vio= 'https://xxxx/'+key   //这填写自己的域名if(!vio){layer.msg('请填写地址!', {icon: 5, time: 1000});}else{if(vio.slice(0,4)!='http'){layer.msg('地址请http开头!', {icon: 5, time: 1000});}else{let ue1 = UE.getEditor('editor');let html='<video  autoplay="autoplay" style="margin: 0 auto;width:100%" src="'+vio+'" controls="controls">您的浏览器不支持 video 标签。</video><p></p>';ue1.setContent(html,true);}}}});
}
注意修改 腾讯云的 文件权限

修改文件夹的权限为,公共读私有写(这里的文件夹是 dalian)

cos 怎么用,短信使用

php后端
// 导入对应产品模块的client
use TencentCloud\Sms\V20210111\SmsClient;
// 导入要请求接口对应的Request类
use TencentCloud\Sms\V20210111\Models\SendSmsRequest;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Common\Credential;
// 导入可选配置类
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;//发送短信
public function sendSms(Request $request){$phone = $request->post('phone');$code=mt_rand(100000,999999);try {// 实例化一个证书对象,入参需要传入腾讯云账户 SecretId,SecretKey// 为了保护密钥安全,建议将密钥设置在环境变量中或者配置文件中。// 硬编码密钥到代码中有可能随代码泄露而暴露,有安全隐患,并不推荐。// SecretId、SecretKey 查询: https://console.cloud.tencent.com/cam/capi// $cred = new Credential("SecretId", "SecretKey");$cred = new Credential("xxxxxxxxx","xxxxxx");// 实例化一个http选项,可选的,没有特殊需求可以跳过$httpProfile = new HttpProfile();// 配置代理(无需要直接忽略)// $httpProfile->setProxy("https://ip:port");$httpProfile->setReqMethod("GET");  // get请求(默认为post请求)$httpProfile->setReqTimeout(10);    // 请求超时时间,单位为秒(默认60秒)$httpProfile->setEndpoint("sms.tencentcloudapi.com");  // 指定接入地域域名(默认就近接入)// 实例化一个client选项,可选的,没有特殊需求可以跳过$clientProfile = new ClientProfile();$clientProfile->setSignMethod("TC3-HMAC-SHA256");  // 指定签名算法$clientProfile->setHttpProfile($httpProfile);// 实例化要请求产品(以sms为例)的client对象,clientProfile是可选的// 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,支持的地域列表参考 https://cloud.tencent.com/document/api/382/52071#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8$client = new SmsClient($cred, "ap-guangzhou", $clientProfile);// 实例化一个 sms 发送短信请求对象,每个接口都会对应一个request对象。$req = new SendSmsRequest();/* 填充请求参数,这里request对象的成员变量即对应接口的入参* 您可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义* 基本类型的设置:* 帮助链接:* 短信控制台: https://console.cloud.tencent.com/smsv2* 腾讯云短信小助手: https://cloud.tencent.com/document/product/382/3773#.E6.8A.80.E6.9C.AF.E4.BA.A4.E6.B5.81 *//* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 */// 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看$req->SmsSdkAppId = "xxxx";/* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名 */// 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看$req->SignName = "xxxx";/* 模板 ID: 必须填写已审核通过的模板 ID */// 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看$req->TemplateId = "xxxx";/* 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,若无模板参数,则设置为空*/$req->TemplateParamSet = array($code);/* 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]* 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/$req->PhoneNumberSet = array("+86".$phone);// 通过client对象调用SendSms方法发起请求。注意请求方法名与请求对象是对应的// 返回的resp是一个SendSmsResponse类的实例,与请求对象对应$resp = $client->SendSms($req);// 输出json格式的字符串回包//print_r($resp->toJsonString());Cache::set($code.$phone, $resp->toJsonString());s();// 也可以取出单个值。// 您可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义// print_r($resp->TotalCount);/* 当出现以下错误码时,快速解决方案参考* [FailedOperation.SignatureIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.signatureincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)* [FailedOperation.TemplateIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.templateincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)* [UnauthorizedOperation.SmsSdkAppIdVerifyFail](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunauthorizedoperation.smssdkappidverifyfail-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)* [UnsupportedOperation.ContainDomesticAndInternationalPhoneNumber](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunsupportedoperation.containdomesticandinternationalphonenumber-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)* 更多错误,可咨询[腾讯云助手](https://tccc.qcloud.com/web/im/index.html#/chat?webAppId=8fa15978f85cb41f7e2ea36920cb3ae1&title=Sms)*/} catch (TencentCloudSDKException $e) {echo $e;e('发送短信错误!');}
}

文本 检测,视频检测(回头写)

php代码 (文本检测)
use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
use TencentCloud\Tms\V20201229\TmsClient;
use TencentCloud\Tms\V20201229\Models\TextModerationRequest;
use TencentCloud\Ims\V20201229\ImsClient;
use TencentCloud\Ims\V20201229\Models\ImageModerationRequest;
//判断是否有非法数据
// 初始化客户端
$cred = new Credential("xxxxx","xxxxxxx");
$httpProfile = new HttpProfile();
$httpProfile->setEndpoint("tms.tencentcloudapi.com");
$clientProfile = new ClientProfile();
$clientProfile->setHttpProfile($httpProfile);
$client = new TmsClient($cred, "ap-guangzhou", $clientProfile);// 构建请求
$req = new TextModerationRequest();
$params = ["Content" => base64_encode($content), // 必须Base64编码"BizType" => "xxxxx" // 业务类型,需在控制台配置
];
$req->fromJsonString(json_encode($params));// 发送请求
try {$resp = $client->TextModeration($req);$arr=json_decode($resp->toJsonString(),true);// print_r($resp->toJsonString());if($arr["Suggestion"]== "Block"){e("请勿发布违法违规内容,请调整后提交!");}s();} catch (\Exception $e) {echo "Error: " . $e->getMessage();e("留言失败,文本审核失败,请稍后重试!");
}
http://www.dtcms.com/a/515754.html

相关文章:

  • 都安网站建设深圳专业seo优化公司
  • 小尺寸13*13cmRFSOC47DR数模混合信号处理卡
  • 基于PHP开发的医疗安全上报平台——医院不良事件管理系统,规范10大类50多种不良事件的上报、处理和追踪流程
  • Linux 中新建用户
  • bond模式以及配置清单
  • 汽车HIL测试供应商
  • 东方玉色静奢新生|欧神诺中国玉2025秋季新品重磅发布!
  • 织梦dede建站教程视频网站开发入门教程
  • 银川 网站建设郑州做网站 熊掌号
  • 工程实践心得记录-pytorch要安装在哪里
  • 19_AI智能体开发架构搭建之基于Qdrant构建知识库最佳实践指南
  • 零基础学AI大模型之LangChain PyPDFLoader实战与PDF图片提取全解析
  • 拉格朗日对偶法—入门版
  • Docker连接超时的解决方法
  • 显示网站建设精美页面天津外贸公司网站制作
  • JDK 8 到 JDK 24 主要特性对比
  • 数据结构初阶:包装类
  • 4.5数组排序算法
  • 【科普】Edge出问题后如何恢复出厂设置
  • 盲盒一番赏小程序系统开发:重构潮玩消费的沉浸式革命
  • Win10/11 Edge 浏览器收藏夹位置
  • 国外客户的网站电话备案注销网站还有吗
  • 贝叶斯统计结合机器学习在术后院内感染危险因素分析中的应用
  • Spring IOC与DI核心解析
  • 百度网站优化 件阿里云可以做网站
  • [人工智能-大模型-45]:模型层技术 - 大模型的种类、比较、发展趋势
  • Electron 实战|Vue 桌面端开发从入门到上线
  • 【北京迅为】iTOP-4412精英版使用手册-第五十二章 注册字符类设备
  • 计算机组成原理实验
  • ChatGPT 技术解析与应用:从原理到实践的全景视角