您好,登錄后才能下訂單哦!
這篇文章主要介紹php中實(shí)現(xiàn)視頻上傳功能的方法有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
php實(shí)現(xiàn)視頻上傳的方法:首先打開“php.ini”配置文件并修改相關(guān)參數(shù);然后使用“XHR2”實(shí)現(xiàn)對(duì)文件的的切割上傳;接著將視頻文件移動(dòng)到想要的位置;最后將視頻入庫即可。
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è)資訊頻道!
免責(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)容。