在一对一直播交友源码中phalapi框架接口文件实现视频文件的上传功能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yun_bao_2144899870/article/details/86736067

日前,在java、php等前端开发中,要实现app与服务端数据的交互,需要找到一款集成好,便于开发的接口文件,在寻找了众多的开源文件之后,我们选定了phalapi框架作为实现与app端数据交互的接口,因为它文件独立,易于开发,官方文档详细。而在app的众多功能中,能上传图片、视频是基础的需求,但phalapi框架中并未有现成的上传视频文件的demo。下面,就为大家介绍下在一对一直播交友源码中phalapi框架接口文件实现视频文件的上传功能。
首先,config目录下的app.php文件先配置好本地上传

/**
     * 本地上传
     */
    'UCloudEngine' => 'local',
    /**
     * 本地存储相关配置(UCloudEngine為local时的配置)
     */
    'UCloud' => array(
        //对应的文件路径
        'host' => 'http://localhost.com/api/upload' 
    ),

一对一直播交友源码api文件中,先给方法限定好需要传递的参数列表:

'uploadVideo'=>array(
               'uid' => array('name' => 'uid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '会员ID'),
   'title'=>array('name' => 'title', 'type' => 'string','require'=>true,'desc'=>'视频标题'),
   'videoType'=>array('name'=>'videoType','type'=>'int','require'=>true,'min'=>0,'desc'=>'视频类型'),
   'videoDesc'=>array('name'=>'videoDesc','type'=>'string','desc'=>'视频描述'),
                   'file' => array('name' => 'file','type' => 'file', 'min' => 0,/*'range' => array('video/eot-mp4','video/mp4'),'ext' => array('mp4'),*/'desc' => '视频文件'),
                   'file1' => array('name' => 'file1','type' => 'file', 'min' => 0, 'max' => 1024 * 1024 * 30, 'range' => array('image/jpg', 'image/jpeg', 'image/png'), 'ext' => array('jpg', 'jpeg', 'png'),'desc' => '缩略图信息'),
),
public function uploadVideo(){
	$uid=$this->uid;
	$title=$this->title;
	$videoType=$this->videoType;
	$videoDesc=$this->videoDesc;
if (!isset($_FILES['file'])) {
$rs['code'] = 1001;
$rs['msg'] = '请选择上传视频';
return $rs;
}
if (!isset($_FILES['file1'])) {
            $rs['code'] = 1;
            $rs['msg'] = '请上傳缩略图';
    return $rs;
    }
if ($_FILES["file"]["error"] > 0) {
$rs['code'] = 1002;
$rs['msg'] = '视频上传失败,请稍后重试';
DI()->logger->debug('failed to upload file with error: ' . $_FILES['file']['error']);
return $rs;
}
if ($_FILES["file1"]["error"] > 0) {
            $rs['code'] = 2;
            $rs['msg'] = '缩略图上传失败,请稍后重试';
    DI()->logger->debug('failed to upload file with error: ' . $_FILES['file']['error']);
    return $rs;
    }
if($title==""){
$rs['code'] = 1003;
$rs['msg'] = '请填写视频主题';
return $rs;
}
if($videoType<0){
$rs['code'] = 1004;
$rs['msg'] = '请选择视频类型';
return $rs;
}
if($videoDesc==""){
$rs['code'] = 1005;
$rs['msg'] = '请填写视频描述';
return $rs;
}
$rs=array('code'=>0,'msg'=>'','info'=>array());

//接口設置上传路径【因為在config下的app.php文件中設置的上傳根目錄為 localhost. com/api/upload,所以下面的設置會在此目錄下新添加相應的文件夾—video/以日期形式創建目錄】

DI()->ucloud->set('save_path','video/'.date("Ymd"));
//上传視頻
$res = DI()->ucloud->upfile($_FILES['file']);
//上傳縮略圖
$res1 = DI()->ucloud->upfile($_FILES['file1']);
$video_url=  $res['url'];
$covers=$res1['url'];
$data=array(
	"uid"=>$uid,
	"title"=>$title,
	"type"=>$videoType,
	"desc"=>$videoDesc,
	"video_url"=>$video_url,
	"covers"=>$covers,
	"addtime"=>time()
);
@unlink($_FILES['file']['tmp_name']);
return $rs;
}
}

这样,视频文件就保存在了服务器的/api/upload目录下了。以上是在一对一直播交友源码中phalapi框架实现视频文件上传本地存储的方法。如果你希望获取更多直播好文章,请继续关注我们,我们将持续为你更新。

猜你喜欢

转载自blog.csdn.net/yun_bao_2144899870/article/details/86736067