zoukankan      html  css  js  c++  java
  • PHP实现上传视频的功能

    首先前台HTML表单代码如下:

     1 <html>
     2 <head>
     3     <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
     4     <title>PHP中文网上传视频</title>
     5 
     6 </head>
     7 <body>
     8 <form action='./upload.php' method=post enctype="multipart/form-data">
     9     <input type="hidden" name="MAX_FILE_SIZE" value="2000000000">
    10     <input type=file name=upfile size=20>
    11     <input type=submit value='上传文件'>
    12 </form>
    13 </body>
    14 </html>

    前端页面效果如下:

    然后后台处理上传视频的PHP代码如下:

     1 <?php
     2 /**
     3  * PHP上传视频
     4  */
     5 $upfile = $_FILES['upfile'];
     6 
     7 function upload_file($files, $path = "./upload", $imagesExt = ['jpg', 'png', 'jpeg', 'gif', 'mp4'])
     8 {
     9     // 判断错误号
    10     if (@$files['error'] == 00) {
    11         // 判断文件类型
    12         $ext = strtolower(pathinfo(@$files['name'], PATHINFO_EXTENSION));
    13         if (!in_array($ext, $imagesExt)) {
    14             return "非法文件类型";
    15         }
    16 
    17         // 判断是否存在上传到的目录
    18         if (!is_dir($path)) {
    19             mkdir($path, 0777, true);
    20         }
    21 
    22         // 生成唯一的文件名
    23         $fileName = md5(uniqid(microtime(true), true)) . '.' . $ext;
    24 
    25         // 将文件名拼接到指定的目录下
    26         $destName = $path . "/" . $fileName;
    27 
    28         // 进行文件移动
    29         if (!move_uploaded_file($files['tmp_name'], $destName)) {
    30             return "文件上传失败!";
    31         }
    32         return "文件上传成功!";
    33     } else {
    34         // 根据错误号返回提示信息
    35         switch (@$files['error']) {
    36             case 1:
    37                 echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值";
    38                 break;
    39             case 2:
    40                 echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";
    41                 break;
    42             case 3:
    43                 echo "文件只有部分被上传";
    44                 break;
    45             case 4:
    46                 echo "没有文件被上传";
    47                 break;
    48             case 6:
    49             case 7:
    50                 echo "系统错误";
    51                 break;
    52         }
    53     }
    54 
    55 }
    56 
    57 echo upload_file($upfile);
    58 
    59 ?>

    那么在这个PHP代码中,我们定义了一个upload_file的上传函数,通过这个函数不仅可以实现视频上传还能实现图片上传。

    并且已经通过详细的注释给大家介绍了每一步操作的含义,方便大家参考学习。

    最后我们可以选择上传一段视频进行测试,结果如下:

    链接:https://mp.weixin.qq.com/s/Go5tzd1_omhgNyn6d3BKzA

  • 相关阅读:
    【原生】数组去重的方法
    【原生】详解Javascript中prototype属性(推荐)
    【原生】 ES5中的构造函数与 ES6 中的类 及构造函数的理解
    【react】React学习:状态(State) 和 属性(Props)
    【react】 flux 了解
    【请求数据】fetch 的get请求和post请求
    【react】 使用create-react-app创建react项目,运行npm run eject报错: 暴露webpack配置文件
    package.json 文件的介绍
    802.11协议精读1:学习资料整理(转)
    ns2之包结构解析
  • 原文地址:https://www.cnblogs.com/clubs/p/11440522.html
Copyright © 2011-2022 走看看