标签:完成 png func use img 实例 json autoload echo
对于七牛云的使用,估计有些刚接触开发的技术人员还不太清楚,那么更不要说如何实现本地视频上传到七牛云转储了,其实这个技术并没有想象中的那么困难,下面就来跟大家详细介绍一下流程:
1、首先我们要先去寻找七牛云的SDK网址,打开后直接下载就行了;
2、下载完成之后我们把它放在tp框架的./ThinkPHP/Extend/Vendor/目录下;
3、完成之后,前期的准备工作就完成了,接下来就是自己上手写代码了:
首先肯定是先在模板部分建立一个form表单:
*视频上传:
我们就提交到News控制器里的do_add这个方法里边:
public function do_add(){
if(!empty($_FILES[‘video‘][‘name‘])){ //首先判断数据是否为空
import(‘ORG.Net.UploadFile‘);
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 31457281;// 设置附件上传大小
$upload->allowExts = array(‘mp4‘);// 设置附件上传类型 如果是MP3的话改为mp3 就ok
$upload->savePath = ‘./Public/Uploads/video/‘;// 设置附件上传目录(先把文件上传到本地服务器上)
//$upload->saveName = I(‘uid‘).‘_‘.time();// 设置附件上传目录
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
//导入类自动加载器
require_once‘./ThinkPHP/Extend/Vendor/qiniusdk/autoload.php‘;
//七牛的钥密
$accessKey = ‘xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx‘;
$secretKey = ‘xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx‘;
$bucket = ‘haha‘; //这个是你上传的空间
$savepath = "http://www.xxxxxxxxxx.com/";//这是你七牛的路径
$auth = new Auth($accessKey, $secretKey);
//可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当间
$mediaid = time().uniqid();
$savekey = \Qiniu\base64_urlSafeEncode(haha:‘.$mediaid.‘.mp4‘);
$fops = $fops.‘|saveas/‘.$savekey;
$policy = array(
‘persistentOps‘ => $fops,
);
$uptoken = $auth->uploadToken($bucket, null, 3600, $policy);
//上传文件的本地路径
$filePath = ‘./Public/Uploads/video/‘.$info[0][‘savename‘];
$key = $mediaid.‘.mp4‘;
$uploadMgr = new UploadManager();
list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath);
if ($err !== null) {
$dataname["info"]="error";
} else {
$savename=$ret[‘key‘];
$file = $savepath.$savename;
$dataname["info"]=$file;
}
}else{
$dataname["info"]="error";
}
unlink($filePath);//上传成功后删除本地服务器上的文件
$audio=D("audio");
$wh[‘aid‘]=I("aid");
$data[‘video_path‘]=$file;
$re=$audio->add($data); //路径保存到数据表
if($re){
success(‘添加成功‘,U(‘News/newslist‘));
}else{
error("添加失败");
}
//echo json_encode($dataname); //返回数据结构自行封装
}
到这里运行之后还是出错 找不到Auth这个类,摸索了一会儿才发现少了命名空间,加到控制器顶部即可:
use Qiniu\Storage\UploadManager;
use Qiniu\Auth;
运行后正常。
至此已经上传完毕,上传完成到自己的七牛看一看就OK!需要跟大家说明的是MP3和MP4类似,只需要把代码中的MP4换为MP3即可,那么现在大家可以开始动手尝试一下了,如果还存在疑问的话,可以留言,我们收到后会第一时间回复。本文由专业的郑州app开发公司燚轩科技整理发表,如需转载请注明出处。
标签:完成 png func use img 实例 json autoload echo
原文地址:https://www.cnblogs.com/yxkj/p/9289733.html