中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Thinkphp如何使用form-builder上傳視頻

發布時間:2021-07-05 16:24:18 來源:億速云 閱讀:324 作者:chen 欄目:編程語言

這篇文章主要介紹“Thinkphp如何使用form-builder上傳視頻”,在日常操作中,相信很多人在Thinkphp如何使用form-builder上傳視頻問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Thinkphp如何使用form-builder上傳視頻”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

增加前端代碼(待更新)


后臺代碼

    /**
     * 添加/修改頁面
     * @param int $id
     * @return string
     */
     public function addVideo($id = 0,$fodder= '')
    {

        $reply_model = VideoModel::get($id);
        $f = array();
        if (!$reply_model) {
            $f[] = Form::input('title', '標題:', '');
            $f[] = Form::textarea('desc', '簡介:', '');
            $f[] = Form::uploadFileOne('video_url','視頻鏈接',Url::buildUrl('file_upload',array(['filePath'=>'video_url'])));
        } else {
            $f[] = Form::input('title', '標題:',  $reply_model->getData('title'));
            $f[] = Form::textarea('desc', '簡介:', $reply_model->getData('desc'));
            $f[] = Form::uploadFileOne('video_url','視頻鏈接',Url::buildUrl('file_upload',array(['filePath'=>'video_url'])),$reply_model->getData('video_url'));
        }

        $form = Form::make_post_form('添加用戶通知', $f, Url::buildUrl('saveVideo', array('id' => $id)));
        $this->assign(compact('form'));
        return $this->fetch('public/form-builder');

    }

    /**
     * 文件上傳
     * 
     * */
    public function file_upload()
    {

        //如何在用戶點擊確認的時候 視頻保存下來 意思就是用戶不點擊提交的時候 腳本結束時 視頻就在臨時文件夾下一起銷毀了 這是一個值得思考的問題
        $val= new Validate();
        //上傳文件
        $file = request()->file('video_url');
        //編寫上傳規則,必須是上傳文件,必須是  mp4,wma等后綴
        $validate = $val->rule([ 'video_url' =>[ 'fileExt'=>'mp4,wma']]);
        //得到上傳文件和規則比對
        $result = $validate->check([ 'video_url' => $file ]);
        //通過輸出地址,否則輸出錯誤
        if ($result) {
            $info = \think\facade\Filesystem::putFile('video', $file);
//            $info = $file->move('uploads');
            //上面產生了右斜杠修改成左斜杠
            $getSaveName=str_replace("\\","/",$info);
            $fileUrl = '/uploads/'.$getSaveName;
            //獲取當前域名
//            $server_name = $_SERVER['SERVER_NAME'];
            $server_name = $_SERVER['HTTP_HOST'];
            //獲取當前網址協議
            $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
            $video_url = $http_type.$server_name.$fileUrl;
            return Json::successful('上傳成功!',['filePath'=>$video_url]);

        } else {
            return Json::fail($validate->getError());
        }

    }

     /**
     * 添加/修改
     * @param int $id
     */

    //上傳視頻的邏輯 前端發起請求->臨時文件->驗證文件->保存臨時視頻文件 ->返回路徑->保存路徑
    public function saveVideo($id = 0)
    {
        $data = UtilService::postMore([
            ['title', ''],
            ['desc', ''],
            ['video_url', '']
        ]);

        //也就是這里需要一個驗證和保存臨時文件的操作
        if(empty($data['title'])){
            return JsonService::fail('標題不為空!');
        }elseif (empty($data['desc'])){
            return JsonService::fail('簡介不為空!');
        }elseif (empty($data['video_url'])){
            return JsonService::fail('視頻不為空!');
        }else{
            if ($id) {
                if (VideoModel::where('id', $id)->update($data)) {
                    return JsonService::success('修改成功');
                } else {
                    return JsonService::fail('修改失敗或者您沒有修改什么!');
                }
            } else {
                if ($res = VideoModel::create($data)) {
                    return JsonService::success('保存成功', ['id' => $res->id]);
                } else {
                    return JsonService::fail('保存失敗!');
                }
            }
        }

    }

到此,關于“Thinkphp如何使用form-builder上傳視頻”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂伦春自治旗| 元朗区| 中卫市| 清原| 保山市| 松原市| 嘉黎县| 金阳县| 晋江市| 达州市| 辽宁省| 梅州市| 丹阳市| 邵东县| 麟游县| 固镇县| 丹寨县| 扶绥县| 江油市| 罗江县| 彝良县| 松滋市| 安丘市| 江北区| 阳信县| 和林格尔县| 南城县| 额尔古纳市| 乳山市| 道真| 隆子县| 新乡市| 彭水| 凌云县| 鞍山市| 全椒县| 克什克腾旗| 磐石市| 通海县| 张家川| 耿马|