溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php中實(shí)現(xiàn)視頻上傳功能的方法有哪些

發(fā)布時(shí)間:2020-08-13 10:08:12 來源:億速云 閱讀:309 作者:小新 欄目:編程語言

這篇文章主要介紹php中實(shí)現(xiàn)視頻上傳功能的方法有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

php實(shí)現(xiàn)視頻上傳的方法:首先打開“php.ini”配置文件并修改相關(guān)參數(shù);然后使用“XHR2”實(shí)現(xiàn)對(duì)文件的的切割上傳;接著將視頻文件移動(dòng)到想要的位置;最后將視頻入庫即可。

php中實(shí)現(xiàn)視頻上傳功能的方法有哪些

php視頻上傳超簡單

首先,因?yàn)橐曨l一般都比較大所以我們得先修改PHP的配置:這里有兩種方法:

方法1: 打開:php.ini

修改里面的上傳配置,找到以下參數(shù),依次做修改

file_uploads = On
  upload_tmp_dir = "d:/fileuploadtmp"
  upload_max_filesize = 50M
  post_max_size = 100M
  max_execution_time = 600
  max_input_time = 600
  memory_limit = 128M

方法2:利用php的函數(shù)來進(jìn)行修改

ini_get()獲取php.ini設(shè)置值

ini_set()設(shè)置php.ini

假設(shè)要上傳一個(gè)50M的大文件。配置php.ini 如下:

file_uploads = On
 upload_tmp_dir = "d:/fileuploadtmp"
 upload_max_filesize = 50M
 post_max_size = 100M
 max_execution_time = 600
 max_input_time = 600
 memory_limit = 128M

提示:需要保持 memory_limit > post_max_size > upload_max_filesize

:::::::::::::::萬能分割線:::::::::::::::::::::::::

假設(shè):視頻文件太大,,我們就必須對(duì)他進(jìn)行切割

使用XHR2實(shí)現(xiàn)對(duì)文件的的切割上傳

具體代碼如下:

var fileobj = document.getElementByTagName('input')[i].files[0];//獲取文件上傳對(duì)象的文件資源
const SLICESIZE = 10 * 1024 * 1024;//每次切割的大小,這里是10MB//此處可做修改
var start = 0;   //初始化截取開始位置
var end = 0;   //初始化截取終止位置
totalsize = fileobj.size; //獲取文件的總的大小
while(start < totalsize){ //利用while循環(huán)將文件進(jìn)行截取提交
start = end ; //
end = start + SLICESIZE; //
 
var xhr = new XMLHttpRequest(); //創(chuàng)建ajax對(duì)象
 
var fd = new FormData(); //創(chuàng)建表單對(duì)象
 
var part = fileobj.slice(start,end);//對(duì)文件進(jìn)行切割,兩個(gè)參數(shù)
 
fd.append('name',part);//把切割文件打包進(jìn)表單對(duì)象中以便發(fā)送,其中name的值就是服務(wù)器$_FILES['name']接受處的變量名
xhr.open('POST','test.php',false);//之所以關(guān)閉異步,是為了防止文件塊送達(dá)服務(wù)器的順序出錯(cuò)
 
xhr.send(fd);//把打包的數(shù)據(jù)發(fā)送
}

到php頁面開始接值

此時(shí),視頻文件傳值到了upload/data/videp/demo.mov中;

接下來,,就是講這個(gè)文件移動(dòng)到你想要的位置

因?yàn)槲沂褂胢ove_uploaded_file老是不成功(你可以嘗試一下),就想著能不能將這個(gè)臨時(shí)文件重命名能不能行

我試著使用rename

將視頻入庫

在前臺(tái)展示是用

{if $brand_video}
     <embed src="http://www.ecshop.com/data/video/{$brand_video}" sutostart=true loop=true width=800 height=600></embed>
{/if}

參數(shù)解析:sutostart::是否自動(dòng)播放

Loop::是否循環(huán)播放

寬高我就不說了,大家都懂的。

以上是php中實(shí)現(xiàn)視頻上傳功能的方法有哪些的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI