程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php文件上傳之單文件上傳,

php文件上傳之單文件上傳,

編輯:關於PHP編程

php文件上傳之單文件上傳,


為了簡單一些,php文件跟form表單寫在了一個文件裡.

php單文件上傳---->

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="UTF-8" />
 5 </head>
 6 <body>
 7 <form action="upload.php" method="post" enctype="multipart/form-data">
 8     請選擇要上傳的文件:<input type="file" name="myfile"/><br /><br />
 9     <input type="submit" value="submit" />
10     <input type="hidden" name="MAX_FILE_SIZE" value="5982"/>
11 </form>
12 </body>
13 </html>
14 
15 
16 
17 <?php
18     if(!empty($_FILES)){
19         header('content-type:text/html;charset=utf-8');
20         $fileInfo=$_FILES['myfile'];
21         print_r($_FILES);
22         //如果上傳出錯則退出並打印錯誤信息
23         if($fileInfo['error']>0){
24             switch($fileInfo['error']){
25                 case 1:
26                     $msg_error='上傳文件超過了php配置文件中UPLOAD_MAX_FILESIZE選項的值';
27                     break;
28                 case 2:
29                     $msg_error='超過了表單MAX_FILE_SIZE限制的大小';
30                     break;
31                 case 3:
32                     $msg_error='文件部分上傳';
33                     break;
34                 case 4:
35                     $msg_error='沒有文件上傳';
36                     break;
37                 case 6:
38                     $msg_error='沒有找到臨時目錄';
39                     break;
40                 case 7:
41                 case 8:
42                     $msg_error='系統錯誤';
43                     break;
44             }
45             exit($msg_error);
46         }
47         $filename=$fileInfo['name'];
48         //獲取文件的擴展名
49         $ext=strtolower(substr($filename,strrpos($filename,'.')+1));
50         //定義可允許上傳的擴展名
51         $allowExt=array('txt','html','png','gif','jpeg');
52         //檢測上傳文件的類型
53         if(!in_array($ext,$allowExt)){
54             exit('上傳文件類型錯誤');
55         }
56 
57 
58        //檢測文件的大小
59         $maxSize=2097152;
60         if($fileInfo['size']>$maxSize){
61             exit('上傳文件過大');
62         }
63 
64         //檢測是否為HTTP POST方式上傳上來的
65         if(!is_uploaded_file($fileInfo['tmp_name'])){
66             exit('文件不是通過HTTP POST方式提交上來的');
67         }
68 
69         //確保文件名字唯一,防止同名文件被覆蓋
70         $uniqName=md5(uniqid(microtime(true),true)).'.'.$ext;
71 
72         //定義保存在哪個文件夾下,如果沒有該文件夾則創建
73         $path='uploads';
74         if(!file_exists($path)){
75             mkdir($path,0777,true);
76             chmod($path,0777);
77         }
78         $destination=$path.'/'.$uniqName;
79 
80         //移動文件至要保存的目錄
81         if(! @move_uploaded_file($fileInfo['tmp_name'],$destination)){
82             exit('文件上傳失敗');
83         }
84 
85         echo '上傳成功';
86 
87     }
88 ?>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved