首页 > Web开发 > 详细

笔记2 自定义文件上传

时间:2017-03-22 23:24:18      阅读:185      评论:0      收藏:0      [点我收藏+]
技术分享
 1 /**
 2   * [Upload 上传文件]
 3   * @param string $save_path  [路径]
 4   * @param array  $allow_type [允许上传类型]
 5   */
 6  function Upload($save_path = ‘./uploads‘, $allow_type = array(‘image‘,‘text‘)){
 7 
 8 
 9 
10  date_default_timezone_set(‘PRC‘);
11 
12 //  1判断错误
13        if (empty($_FILES)) {
14            die(‘不能超过20M以上‘);
15 
16        }
17        $key =key($_FILES);
18      // 2判断error错误号, 如果error > 0 ,则说明上传文件出错, 只有error = 0才是上传成功
19      if ($_FILES[$key][‘error‘][0]>0) {
20          switch ($_FILES[$key][‘error‘]) {
21              case ‘1‘:
22              echo ‘上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值‘;
23                  break;
24              case ‘2‘:
25              echo ‘上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值‘;
26                  break;
27              case ‘3‘:
28              echo ‘文件只有部分被上传‘;
29                  break;
30              case ‘4‘:
31              echo ‘没有文件被上传‘;
32                  break;
33              case ‘6‘:
34              echo ‘找不到临时文件夹‘;
35                  break;
36              case ‘7‘:
37              echo ‘文件写入失败‘;
38                  break;
39          
40              
41          }
42 
43      }
44 //  
45 //  2判断文件是不是通过 http post协议上传
46         
47     if (!is_uploaded_file( $_FILES[ $key ][‘tmp_name‘][0])) {
48          die(‘请正常上传文件,不要搞事情‘);
49      } 
50 //  3判断文件类型
51      $str =$_FILES[ $key][‘type‘][0];    // video/mp4
52 //      获取类型
53      $type =strtok($str,‘/‘);
54      
55 //      获取后缀名(扩展名)
56      $suffix = ltrim(strstr($str, ‘/‘),‘/‘);
57      // var_dump($suffix);
58 //      自定义允许类型组
59 //  判断type是否 allow_type 里面
60          if (!in_array($type,$allow_type)) {
61              
62              die(‘不合法的文件类型‘);
63          }
64 
65 //  4 设置 上传之后的文件名   20170320xx.jpg
66     $filename =date(‘Ymd‘).uniqid().‘.‘.$suffix;
67     // var_dump($filename); 
68 //  5 判断存储目录
69  $filepath =$save_path.date(‘Y/m/d/‘);
70  // var_dump($filepath);
71      if (!file_exists($filepath)) {
72 
73              mkdir($filepath,‘0777‘,true);
74      }
75 
76 //  6 移动文件到存储目录
77      if (move_uploaded_file($_FILES[$key][‘tmp_name‘][0], $filepath.$filename)) {
78      echo ‘上传文件成功‘;
79      echo ‘<meta http-equiv="refresh" content="3; url=‘.$_SERVER[‘HTTP_REFERER‘].‘">‘;
80      }else{
81 
82          echo ‘上传文件失败‘;
83      echo ‘<meta http-equiv="refresh" content="3; url=‘.$_SERVER[‘HTTP_REFERER‘].‘">‘;
84      }
85 
86 
87 }
88     echo Upload();
View Code

 

笔记2 自定义文件上传

原文:http://www.cnblogs.com/tj1234/p/6602238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!