PHP上传视频

html:

<div style="display:none;" id="sp">
            <input type="hidden" name="logo" id="logo" >
            <div class="layui-form-item">
                <label class="layui-form-label">视频上传</label>
                <button type="button" name="file" class="layui-btn" id="myvideo">
                    <i class="layui-icon">&#xe67c;</i>上传视频
                    </button>
            </div>
        </div>
//视频上传
            var uploadInst = upload.render({
                elem: '#myvideo' //绑定元素
                ,url: "{
   
   {url('admin/focusUpload')}}?type=2" //上传接口
                ,accept: 'video'
                ,exts : 'mp4'
                ,headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
                ,done: function(res){
                    //上传完毕回调
                    layer.msg(res.font,{icon:res.code});
                    if(res.code==1){
                        $('#wenben').val(res.src);
                        $('#file').val(res.file);
                        $('#status').val(3);
                    }
                }
                ,error: function(){
                    //请求异常回调
                }
            });

php:

//上传图片【或视频
    public function focusUpload()
    {
        if (request()->isMethod('post')) {

            $file = request()->file(['file']);

            $data = request()->get('type');

            #上传图片
            $now = date('Ymd');

            // 获取文件路径
            $transverse_pic = $file->getRealPath();

            //生成随机数的文件名以日期开头后面跟4个随机数
            $time = date('Ymd');
            if ($data == 1) {
                // public路径
                $path = public_path('uploads/weixin/' . $time . '/');
            } elseif ($data == 2) {
                // public路径
                $path = public_path('uploads/weixinsp/' . $time . '/');
            }

            // 获取后缀名
            $postfix = $file->getClientOriginalExtension();

            // 拼装文件名
            $fileName = md5($now . rand(0, 10000)) . '.' . $postfix;

            //拼接路径
            //$img=$path.'/'.$fileName;

            // 移动
            if (!$file->move($path, $fileName)) {
                return response()->json(['ServerNo' => '400', 'ResultData' => '文件保存失败']);
            }

            return $info = [
                'font' => '上传成功',
                'code' => 1,
                'src' => $path . $fileName,
                'file' => $fileName
            ];
        } else {
            return view('focus.keyname');
        }
    }

前台展示视频:

<video src="{
  
  {env('UPLOAD_URL')}}uploads/weixin/{
  
  {$video['video']}}"
       controls width="486" height="864" autoplay="autoplay">

</video>
备注:给video添加属性“autoplay”,属性值为“autoplay”,这时视频加载完成后就会自动播放:

附加链接:

https://www.php.cn/jishu/php/411404.html

猜你喜欢

转载自blog.csdn.net/weixin_45849851/article/details/103048949