php视频上传超简单
首先,因?yàn)橐曨l一般都比較大所以我們得先修改PHP的配置:這里有兩種方法:
?
方法1:?打開(kāi):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ù)來(lái)進(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
:::::::::::::::萬(wàn)能分割線:::::::::::::::::::::::::
假設(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; ??//初始化截取開(kāi)始位置
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頁(yè)面開(kāi)始接值
?
?
此時(shí),視頻文件傳值到了upload/data/videp/demo.mov中;
接下來(lái),,就是講這個(gè)文件移動(dòng)到你想要的位置
因?yàn)槲沂褂?span style="font-family:Calibri">move_uploaded_file老是不成功(你可以嘗試一下),就想著能不能將這個(gè)臨時(shí)文件重命名能不能行
我試著使用rename
?
將視頻入庫(kù)
在前臺(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)播放
寬高我就不說(shuō)了,大家都懂的
效果展示::::::
總結(jié)
以上是生活随笔為你收集整理的php视频上传超简单的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android6.0 无法锁屏
- 下一篇: 文言文编程可以编译成PHP吗,GitHu