用POST方法上傳文件


文件上傳分為客戶端和服務器端

客戶端可以通過form表單進行上傳

客戶端使用html表單進行上傳
enctype = "multipart/form-data"用來指定表單編碼數據方式
method = "POST"指明發送數據的方法
<form action = "upload.php" method = "POST" enctype = "multipart/form-data">
<input type = "hidden" name = "MAXN_FILIE_SIZE" value = "100000">
選擇文件:<input type = "file" name = "myFile">
<input type = "submit" value = "上傳文件">
</form>

最主要的就是type="file"的<input>標簽

服務器端

 1 <!--
 2     簡單的文件上傳的PHP腳本
 3 ->
 4 <?php
 5     $allowtype = array("gif","png","jpg");
 6     $size = 1000000;
 7     $path = "./upload";
 8     
 9     if($_FILES['myfile']['error'] > 0){
10         echo "文件上傳錯誤";
11         switch($_FILES['myfile']['error']){
12             case 1 :die('上傳文件大小超過了PHP配置文件中的約定值');
13             case 2 :die('上傳文件大小超過了瀏覽器中的約定值');
14             case 3 :die('文件只被上傳部分');
15             case 4 :die('沒有上傳的文件');
16             default :die('其它錯誤');
17         }
18     }
19     
20     $hz = array_pop(explode(".",$_FILES['myfile']['name']));
21     if(!in_array($hz,$allowtype)){
22         die("這個后綴是<b>{$hz}</b>不是允許的類型");
23     }
24     
25     if($_FILES['myfile']['size'] > $size){
26         die("超過了允許的<b>$size</b>字節大小");
27     }
28     
29     $filename = date("YmdHis").rand(100,999).".".$hz;
30     
31     if(is_uploaded_file($_FILES['myfile']['tmp_name'])){
32         if(!move_uploaded_file($_FILES['myfile']['tmp_name'],$path.'/'.$filename)){
33             die("不能將文件移動到指定目錄");
34         }
35     }else{
36         die("上傳文件:{$_FILES['myfile']['name']}不是一個合法文件");
37     }
38     
39     echo "文件{$myfile}上傳成功,保存在目錄{$path}中,大小為{$_FILES['myfile']['size']}字節";
40 ?>

用POST方法將文件上傳時主要運用到的是$_FILES[]全局數組

$_FILES是一個二維數組 $_FILES['myfile']['name'] $_FILES['myfile']['tmp_name'] $_FILES['myfile']['size'] $_FILES['myfile']['error'] $_FILES['myfile']['type']

用到的函數有:is_uploaded_file()  move_uploaded_file()

 

 

 

多個文件上傳時只需要運用myfile[]數組即可 此時的$_FILES是三維數組

1 <form action = "upload.php" method = "POST" enctype = "multipart/form-data">
2             <input type = "hidden" name = "MAXN_FILIE_SIZE" value = "100000">
3             選擇文件1:<input type = "file" name = "myFile[]">
4             選擇文件2:<input type = "file" name = "myFile[]">
5             選擇文件3:<input type = "file" name = "myFile[]">
6             <input type = "submit" value = "上傳文件">
7         </form>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM