easyswoole视频入库

本文介绍了一个使用PHP实现的视频上传与检索API的具体实现细节。该API通过验证请求参数来确保数据完整性和正确性,并利用EasySwoole框架进行数据库操作。此外,还展示了如何通过MySQL获取视频数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • App\HttpController\Api\Video,php
<?php

namespace App\HttpController\Api;
use App\HttpController\Api\Base;
use EasySwoole\Mysqli\Config;
use EasySwoole\Mysqli\Mysqli;
use App\Lib\Redis\Redis;
use EasySwoole\EasySwoole\Config as Configs;
use App\Model\Video as VideoModel;
use EasySwoole\Validate\Validate;
use EasySwoole\EasySwoole\Logger;
/**
 * Class Index
 * @package App\HttpController
 */
class Video extends Base
{
    function add(){
        $params=$this->request()->getRequestParam();
        Logger::getInstance()->log($this->logType.'add:'.json_encode($params),Logger::LOG_LEVEL_INFO,'DEBUG');
        $ruleObj=new Validate();
        $ruleObj->addColumn('name','视频名称错误')->required('视频名称不能为空')->lengthMin(2,'最小长度不小于2位');
        $ruleObj->addColumn('url','视频地址错误')->required('视频地址不能为空');
        $ruleObj->addColumn('image','图片地址错误')->required('图片地址不能为空');
        $ruleObj->addColumn('content','视频描述必须')->required('视频描述不能为空');
        $ruleObj->addColumn('cat_id','栏目ID必须')->required('栏目ID不能为空');
        $ruleObj->addColumn('uploader','上传者必须')->required('上传者不能为空');
        $validator=$this->validate($ruleObj);
        if($validator==false){
            return $this->writeJson(400,$ruleObj->getError()->__toString(),'上传失败');
        }
        $data=[
            'name'=>$params['name'],
            'url'=>$params['url'],
            'image'=>$params['image'],
            'content'=>$params['content'],
            'cat_id'=>$params['cat_id'],
            'create_time'=>time(),
            'status'=>\Yaconf::get('stats.normal')
        ];
        //插入
        try{
            $modelObj=new VideoModel();
            $videoId=$modelObj->add($data);
        }
        catch(\Exception $e){
            return $this->writeJson(400,$e->getMessage(),'获取成功');
        }
        if(!empty($videoId)){
            return $this->writeJson(200,['videoId'=>$videoId],'插入成功');
        }
        else{
            return $this->writeJson(400,array(),'插入失败');
        }
    }
    function getVideo(){
        $config=Configs::getInstance()->getConf('MYSQL');
        $conf = new Config($config);
        $db = new Mysqli($conf);
        $data = $db->get('video');//获取一个表的数据
        return $this->writeJson(200,  $data,'ok');
    }
}
  • App\Model\Video.php
<?php
/**
 * Created by PhpStorm.
 * User: niuyueyang
 * Date: 2019/7/17
 * Time: 18:45
 */
namespace App\Model;
class Video extends Base{
    public $tableName='video';
}
  • App\Model\Base.php
<?php
/**
 * Created by PhpStorm.
 * User: niuyueyang
 * Date: 2019/7/17
 * Time: 18:46
 */
namespace App\Model;
use EasySwoole\Mysqli\Config;
use EasySwoole\Mysqli\Mysqli;
use EasySwoole\EasySwoole\Config as Configs;
class Base{
    public $db='';
    public function __construct()
    {
        if(empty($this->tableName)){
            throw new \Exception('table error');
        }
        $config=Configs::getInstance()->getConf('MYSQL');
        $conf = new Config($config);
        $db = new Mysqli($conf);
        $this->db=$db;
    }
    public function add($data){
        if(empty($data)||!is_array($data)){
            throw new \Exception('data empty');
        }
        print_r($data);
        return $this->db->insert($this->tableName, $data);
    }
}
  • ini/stats.ini
normal=1
auditing=0
delete=2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值