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

田東ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
增加前端代碼(待更新)
后臺代碼
/**
* 添加/修改頁面
* @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()
{
//如何在用戶點擊確認的時候 視頻保存下來 意思就是用戶不點擊提交的時候 腳本結(jié)束時 視頻就在臨時文件夾下一起銷毀了 這是一個值得思考的問題
$val= new Validate();
//上傳文件
$file = request()->file('video_url');
//編寫上傳規(guī)則,必須是上傳文件,必須是 mp4,wma等后綴
$validate = $val->rule([ 'video_url' =>[ 'fileExt'=>'mp4,wma']]);
//得到上傳文件和規(guī)則比對
$result = $validate->check([ 'video_url' => $file ]);
//通過輸出地址,否則輸出錯誤
if ($result) {
$info = \think\facade\Filesystem::putFile('video', $file);
// $info = $file->move('uploads');
//上面產(chǎn)生了右斜杠修改成左斜杠
$getSaveName=str_replace("\\","/",$info);
$fileUrl = '/uploads/'.$getSaveName;
//獲取當前域名
// $server_name = $_SERVER['SERVER_NAME'];
$server_name = $_SERVER['HTTP_HOST'];
//獲取當前網(wǎng)址協(xié)議
$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
*/
//上傳視頻的邏輯 前端發(fā)起請求->臨時文件->驗證文件->保存臨時視頻文件 ->返回路徑->保存路徑
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('保存失敗!');
}
}
}
}到此,關(guān)于“Thinkphp如何使用form-builder上傳視頻”的學(xué)習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習,快去試試吧!若想繼續(xù)學(xué)習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站名稱:Thinkphp如何使用form-builder上傳視頻
鏈接URL:http://chinadenli.net/article40/goicho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站營銷、域名注冊、品牌網(wǎng)站設(shè)計、網(wǎng)站內(nèi)鏈、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)