php+laravel框架七牛云存储+图片审核+文字审核
图片审核+文字审核使用的是 百度智能云-登录,且只需修改apikey和sercekey即可使用
1. composer 下载
composer require zgldh/qiniu-laravel-storage
2. 配置文件(在 config下的app.php 加上)
zgldh\QiniuStorage\QiniuFilesystemServiceProvider::class
接下来在config/filesystems.php
里的disks
中新增如下选项:
'disks' => [... ,'qiniu' => ['driver' => 'qiniu','domains' => ['default' => 'laravelacademy.com1.z0.glb.clouddn.com', //你的七牛域名'https' => 'dn-laravelacademy.qbox.me', //你的HTTPS域名'custom' => 'static.laravelacademy.org', //你的自定义域名],'access_key'=> '', //AccessKey'secret_key'=> '', //SecretKey'bucket' => '', //Bucket名字'notify_url'=> '', //持久化处理回调地址],],
3.控制器实现
/** 图片上传 + 图片审核* */public function upImage(request $request){//图片审核$fileTmp = $request->file('image')->getPathname();$result = $this->imageAudit($fileTmp);if($result['conclusion'] != "合规") return json_encode(['code'=>400,',msg'=>"文件不合规"]);var_dump($result);//云存储$disk = Storage::disk('qiniu'); //使用七牛云上传$time = date('Y/m/d/H-m-s');$file = $request->file('image');$filePath = $file->getRealPath();$ext = $file->getClientOriginalExtension();$filename = $disk->put($time.'.'.$ext, file_get_contents($filePath));//上传//图片地址$url = 'http://liyan.shop'.$time.'.'.mt_rand(1000,9999).$ext;if(!$filename) return json_encode(['code'=>400,'msg'=>"文件错误"]);return json_encode(['code'=>200,'msg'=>"文件上传成功",'data'=>$url]);}//只需要修改apikey secrekeypublic function contentAudit($content){//审核的内容即为$content$token = $this->getAccessToken('apikey', 'secrekey');$url = 'https://aip.baidubce.com/rest/2.0/solution/v1/text_censor/v2/user_defined?access_token=' . $token;$bodys = array('text' => $content);$res = $this->curlPost($url, $bodys);//结果转成数组$res = json_decode($res, true);//根据自己的业务逻辑进行处理return $res;}/*** 图片审核*/public function imageAudit($fileTmp){//只需要修改apikey secrekey$token = $this->getAccessToken('apikey', 'secrekey');$url = 'https://aip.baidubce.com/rest/2.0/solution/v1/img_censor/v2/user_defined?access_token=' . $token;$img = file_get_contents($fileTmp);//本地路径$img = base64_encode($img);$bodys = array('image' => $img);$res = $this->curlPost($url, $bodys);//结果转成数组$res = json_decode($res, true);//根据自己的业务逻辑进行处理return $res;}/*** CURL的Post请求方法* @param string $url* @param string $param* @return bool|string*/function curlPost($url = '', $param = ''){if (empty($url) || empty($param)) {return false;}$postUrl = $url;$curlPost = $param;// 初始化curl$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $postUrl);curl_setopt($curl, CURLOPT_HEADER, 0);// 要求结果为字符串且输出到屏幕上curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);// post提交方式curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);// 运行curl$data = curl_exec($curl);curl_close($curl);return $data;}/*** 获取百度开放平台的票据* 参考链接:https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu*/public function getAccessToken($ApiKey = '', $SecretKey = '', $grantType = 'client_credentials'){$url = 'https://aip.baidubce.com/oauth/2.0/token';$post_data['grant_type'] = $grantType;$post_data['client_id'] = $ApiKey;$post_data['client_secret'] = $SecretKey;$o = "";foreach ($post_data as $k => $v) {$o .= "$k=" . urlencode($v) . "&";}$post_data = substr($o, 0, -1);$res = $this->curlPost($url, $post_data);//进行把返回结果转成数组$res = json_decode($res, true);if (isset($res['error'])) {exit('API Key或者Secret Key不正确');}$accessToken = $res['access_token'];return $accessToken;}
php+laravel框架七牛云存储+图片审核+文字审核相关推荐
- 七牛云存储,图片储存
七牛云存储,图片储存 概述 七牛云对象存储服务提供高可靠.强安全.低成本.可扩展的非结构化数据的存储服务.它提供简单的 Web 服务接口,可以通过七牛开发者平台或客户端存储和检索任意数量的数据,支持 ...
- php七牛云储存图片,wordpress使用七牛云存储图片 | 厘米天空
说到建站,多少会用到图片存储.免费的网络相册有很多,但是做站时能用到的必须得稳定快速和支持外链,本站一直在使用的一个存储就是七牛云.注册认证通过标准用户就可以得到10G的免费存储空间和免费10G的月流 ...
- 手把手教你用七牛云存储图片
环境说明:Django + Vue + Element-ui 在开发项目的时候,经常会用到上传图片的功能,如果把图片全都存放在项目路径下,会导致项目越来越臃肿,因此可以考虑把图片上传交给第三方 ...
- Spring Boot 使用七牛云存储图片并且使用自定义域名访问
文章目录 前言 一.环境准备 1. 账号准备 注册七牛云账号并实名 创建对象存储空间 获取密钥 2. 创建spring boot 项目 pom.xml application.yml 二.上传本地文件 ...
- ueditor与七牛云存储结合
2019独角兽企业重金招聘Python工程师标准>>> 摘要: ueditor与七牛云存储结合,主要是表单api. ueditor上传图片到七牛云存储 ueditor结合七牛传图片 ...
- 在 Laravel 5 中集成七牛云存储实现云存储功能
本扩展包基于https://github.com/qiniu/php-sdk开发,是七牛云储存 Laravel 5 Storage版,通过本扩展包可以在Laravel 5中集成七牛云存储功能. 1.安 ...
- 苹果cms怎么同步图片到新浪或是七牛云存储
做影视站视频资源多了以后图片是个很头疼的事,不但占用空间还影响网站响应速度,其实苹果cms官方给出的不错方案就是把图片同步到第三方云存储例如:新浪图床,七牛云存储,又拍云存储等. 具体操作步骤如下: ...
- 使用七牛云存储在网站中进行图片外链
在CSDN中写博客,如果想在文章中插入一张图片,其实是非常简单的,只要从你本机进行图片选择,然后选择上传,图片就会上传到CSDN的服务器,到时候在文章显示的时候就会读取该图片.但是如果是在自己的搭建的 ...
- 【微信小程序控制硬件⑥ 进阶篇】服务器如何集成七牛云存储SDK,把用户自定义设备图片存储在第三方服务器!
本博文由热爱分享热爱技术的半颗心脏原创,非官方人员.非组织名义编写,博文如有不对或侵犯您的权益,请及时留言,第一时间纠正! [微信小程序控制硬件①] 全网首发,借助 emq 消息服务器带你如何搭建微信 ...
最新文章
- C#简单操作MongoDB
- python中的闭包与装饰器教程
- mysql group_concat时间用法
- SpringBoot-探索回顾Spring框架本质
- Windows监听进程是否退出C++
- mysql 空位补0_MySQL-13(表的创建、数值类型整型、float/decimal、ZEROFILL、BIT(M))
- iplat62----loading层添加
- Matlab学习笔记 figure函数
- JAVA 正则表达式 (超详细) .
- [PWA] Check Online Status by using the NavigatorOnLine API
- 深度学习2.0-40.LSTM原理及实战
- 项目实施流程和规范模板(测试方向)
- 用android手机测量身高,教你如何使用小米手机测量自己的身高!
- Android 插件化原理(三),通过hook启动插件Activity,修改Resources,调用插件资源
- 【bzoj3034】Heaven Cow与God Bull
- 关于微程序、微指令和微命令
- 石川: 主流多因子模型巡礼
- 计算机网络Wireshark实验(西安交通大学)
- Linux磁盘分区以及多重引导简述
- java中 先进后出的集合_程序猿的日常——Java中的集合列表