PHP小白到大牛直播班+Linux服务器(前30名)
视频教程分类
推荐视频教程
  • php程序员小白到大牛三个月集训php程序员小白到大牛三个月集训
  • Laravel 9 学习正当时—保姆级教程,想学不会都难!Laravel 9 学习正当时—保姆级教程,想学不会都难!
  • 千万级数据并发解决方案(理论+实战)千万级数据并发解决方案(理论+实战)
  • Laravel基础与实战(模块化)Laravel基础与实战(模块化)
  • UNI-APP开发(仿饿了么)UNI-APP开发(仿饿了么)
  • 首页 >后端开发 >PHP问题 > 正文

    php怎么实现视频上传

    原创2020-08-12 10:54:092605 关注公众号:每天精选资源文章推送

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

    推荐:《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('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}
         <embed src="http://www.ecshop.com/data/video/{$brand_video}" sutostart=true loop=true width=800 height=600></embed>
    {/if}

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

    Loop::是否循环播放

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

    以上就是php怎么实现视频上传的详细内容,更多请关注php中文网其它相关文章!

    20期PHP线上班

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:php 视频上传
  • 相关文章

    相关视频


      专题推荐