打赏

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

posted on 2019-08-31 21:20  头大的冯冯  阅读(9133)  评论(0编辑  收藏  举报

导航