首页 > 后端开发 > PHP问题 > php怎么实现视频上传

php怎么实现视频上传

藏色散人
发布: 2023-03-04 10:58:02
原创
5518 人浏览过

php实现视频上传的方法:首先打开“php.ini”配置文件并修改相关参数;然后使用“XHR2”实现对文件的的切割上传;接着将视频文件移动到想要的位置;最后将视频入库即可。

php怎么实现视频上传

推荐:《PHP视频教程

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(&#39;name&#39;,part);//把切割文件打包进表单对象中以便发送,其中name的值就是服务器$_FILES[&#39;name&#39;]接受处的变量名
xhr.open(&#39;POST&#39;,&#39;test.php&#39;,false);//之所以关闭异步,是为了防止文件块送达服务器的顺序出错
 
xhr.send(fd);//把打包的数据发送
}
登录后复制

到php页面开始接值

此时,视频文件传值到了upload/data/videp/demo.mov中;

接下来,,就是讲这个文件移动到你想要的位置

因为我使用move_uploaded_file老是不成功(你可以尝试一下),就想着能不能将这个临时文件重命名能不能行

我试着使用rename

将视频入库

在前台展示是用

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

参数解析:sutostart::是否自动播放

  Loop::是否循环播放

宽高我就不说了,大家都懂的。

以上是php怎么实现视频上传的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板