php 上传文件 示例

  1 <?php 
  2 header("content-type:text/html;charset=utf-8");
  3 error_reporting(E_ALL);
  4 //session_start();
  5 /* include "database_new.php";
  6 
  7 $nmetable=isset($_POST['nmetable'])?$_POST['nmetable']:"";
  8 $title=isset($_POST['title'])?$_POST['title']:"";
  9 $content=isset($_POST['content'])?$_POST['content']:"";
 10 $a2=$a['name'];
 11 date_default_timezone_set('PRC');
 12 $time=date('Y-m-d H:i:s',time());
 13 $ist=$go->execSql("insert into $nmetable(src,name,content,time)values('$a2','$title','$content','$time')");
 14  */
 15 //print_r($a);
 16 
 17 /*
 18 
 19 Array
 20 (
 21     [name] => cube.html
 22     [type] => text/html
 23     [tmp_name] => H:wamp	mpphpD175.tmp
 24     [error] => 0
 25     [size] => 3289
 26 )
 27 
 28 */
 29 
 30 /*
 31 函数名:getMessage()
 32 参数:  $mes   $flg
 33 作用:  使正确的信息显示为绿色  ,错误信息显示为红色 
 34 时间:  2017-9-5
 35 程序员:
 36 */
 37 $a=$_FILES['imgfile'];
 38 $message="";
 39 function getMessage($mes,$flg){
 40     global $message;
 41     if($flg==true){
 42         $message.="<div style='color:green' >".$mes."</div>";
 43         }else{
 44             $message.="<div style='color:red' >".$mes."</div>";
 45             }
 46        //return getMessage();
 47     }
 48     //getMessage('上传成功了',false); 
 49     //echo $message;
 50     
 51 
 52 
 53 
 54 
 55 
 56 
 57 
 58 //判断文件类型(获取文件后缀名)
 59 
 60 function getFileType($fileName){
 61     $pos=strrpos($fileName,'.');   //查找字符串中最后一次‘.’的位置
 62     return substr($fileName,$pos+1); //从中最后一次‘.’的位置的下一位,截取到最后一位
 63     
 64     }
 65 
 66 
 67 
 68 
 69     //echo getFileType('dfaf.af.a.f.f.f.a.f.dfafasf.asf');    //测试
 70 //设置允许被上传的后缀名
 71     $allFileType=array('jpg','png','gif','txt','html');
 72 
 73 
 74 
 75 //判断上传文件类型是否允许被上传
 76 
 77 function ifFileType($fileName){
 78     global $allFileType;    //引入全局变量$allFileType
 79     
 80     $seion=getFileType($fileName);   //将getFileType($fileName)方法做成变量
 81     if(in_array($seion, $allFileType)){   //判断上传的文件类型是否在规定的数组中
 82         getMessage("文件类型允许被上传",true);  //文件允许上传时显示绿色的内容
 83         return true;
 84         }else{
 85             
 86             getMessage("文件类型不允许被上传",false);//文件不允许上传时显示红色的内容
 87             
 88             return false;
 89             }
 90     
 91     }    
 92     
 93     //ifFileType("asd.af.a.txtd"); 
 94     //echo $message;
 95     
 96 
 97 
 98 
 99 
100 
101 
102 
103 
104 
105 
106 
107 
108 //设置上传文件的大小
109 
110 function ifFileSize($fileSize){
111     $fileSize=ceil($fileSize/1024/1024);// 将上传文件转化为兆
112     if($fileSize<=2){
113         
114         getMessage("文件大小允许被上传",true);
115         return true;
116         }else{
117             
118             getMessage("文件过大,请上传小于2M的文件",false);
119             return false;
120             
121             }
122     
123     }
124     //ifFileSize(10000000);
125     //echo $message;
126     
127 
128 
129 
130 
131 
132 
133 
134 
135 
136 
137 
138 //判断 文件上传目录是否存在
139 function ifExists($fileUrl){
140     
141     if(is_dir($fileUrl)){    //判断目录是否存在
142         
143         getMessage("上传目录已存在,可以直接上传",true);
144         return true;
145         }else{
146             if(mkdir($fileUrl)){
147                 getMessage("目录创建成功",true);
148                 return true;
149                 
150                 }else{
151                     getMessage("目录创建失败",false);
152                     return false;
153                     
154                     }
155             
156             
157             
158             }
159     }
160     
161     //ifExists('image');
162     //echo $message;
163 //exit();
164 
165 
166 
167 
168 
169 
170 
171 
172 
173 
174 
175 //
176  $b='./image/';
177     //$new_name=md5(date("Ymdhis")).".".pathinfo($a['name'],PATHINFO_EXTENSION);
178    // $path=$b.$new_name;
179 
180 
181    
182    if(ifFileType($a['name']) && ifFileSize($a['size']) && ifExists($b) ){
183     $res=move_uploaded_file($a['tmp_name'],$b.md5(date("Ymdhis")).'.'. getFileType($a['name']));
184     
185     if($res){
186 
187         echo "<script>location.href='../admin/design.php'</script>";
188         }else{
189             //echo "<div style='color:red' >".$a['name']."文件上传失败</div>";
190             echo "<script>alert('图片上传失败');location.href='../admin/insert.php'</script>";
191             }
192     }else{
193         
194 echo "<div style='color:red' >上传失败,请上传小于2M,文件类型为'jpg','png','gif','txt','html'的文件</div>";
195         
196         }
197         
198 //-----------------------------------------------------------------------------link: design.php
199     
200     
201     
202 ?>
原文地址:https://www.cnblogs.com/weihexinCode/p/12318210.html