這篇文章主要介紹php中實現視頻上傳功能的方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
php實現視頻上傳的方法:首先打開“php.ini”配置文件并修改相關參數;然后使用“XHR2”實現對文件的的切割上傳;接著將視頻文件移動到想要的位置;最后將視頻入庫即可。
php視頻上傳超簡單
首先,因為視頻一般都比較大所以我們得先修改PHP的配置:這里有兩種方法:
方法1: 打開: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
方法2:利用php的函數來進行修改
ini_get()獲取php.ini設置值
ini_set()設置php.ini
假設要上傳一個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
:::::::::::::::萬能分割線:::::::::::::::::::::::::
假設:視頻文件太大,,我們就必須對他進行切割
使用XHR2實現對文件的的切割上傳
具體代碼如下:
var fileobj = document.getElementByTagName('input')[i].files[0];//獲取文件上傳對象的文件資源 const SLICESIZE = 10 * 1024 * 1024;//每次切割的大小,這里是10MB//此處可做修改 var start = 0; //初始化截取開始位置 var end = 0; //初始化截取終止位置 totalsize = fileobj.size; //獲取文件的總的大小 while(start < totalsize){ //利用while循環將文件進行截取提交 start = end ; // end = start + SLICESIZE; // var xhr = new XMLHttpRequest(); //創建ajax對象 var fd = new FormData(); //創建表單對象 var part = fileobj.slice(start,end);//對文件進行切割,兩個參數 fd.append('name',part);//把切割文件打包進表單對象中以便發送,其中name的值就是服務器$_FILES['name']接受處的變量名 xhr.open('POST','test.php',false);//之所以關閉異步,是為了防止文件塊送達服務器的順序出錯 xhr.send(fd);//把打包的數據發送 }
到php頁面開始接值
此時,視頻文件傳值到了upload/data/videp/demo.mov中;
接下來,,就是講這個文件移動到你想要的位置
因為我使用move_uploaded_file老是不成功(你可以嘗試一下),就想著能不能將這個臨時文件重命名能不能行
我試著使用rename
將視頻入庫
在前臺展示是用
{if $brand_video} {/if}
參數解析:sutostart::是否自動播放
Loop::是否循環播放
寬高我就不說了,大家都懂的。
以上是php中實現視頻上傳功能的方法有哪些的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯-成都網站建設公司行業資訊頻道!