1. 程式人生 > >文件上傳的基本知識

文件上傳的基本知識

method 重復 exist dump 基本 ont 添加 div 文件名

 1 <?php
 2 //獲取提交文件的相關信息需要用$_FILES[] file數組獲取
 3 //取文件信息
 4 $arr =$_FILES["file"];
 5 //var_dump($arr["name"]);
 6 //$arr["name"]原來的文件名
 7 
 8 //用戶上傳的臨時文件的路徑
 9 //$arr["tmp_name"];
10 
11 //我們想把這個文件存放的位置是當前文件夾的images文件夾裏並且重新命名該文件為11.jpg
12 $filename = "./images/11.jpg";
13 
14 //windows系統采用的編碼格式不是UTF-8的形式而是 國標的gb2312格式
15 //所以往windows裏面存東西的時候要轉化為國標的gb2312的編碼格式存儲才可以 16 //轉換編碼格式: 意思就是將$filename的編碼格式UTF-8轉化為gb2312的格式形成一個新的$filename 17 $filename = iconv("UTF-8","gb2312",$filename); 18 19 //移動臨時文件到我們想存放的位置 20 //括號內的第一個參數是臨時文件的路徑 也就是 $arr["tmp_name"]; 21 //第二個參數是要移動到的位置 也就是 $filename 22 move_uploaded_file($arr["tmp_name"],$filename
); 23 24 25 26 27 28 29 30 31 <?php 32 //添加上傳文件的限制條件 33 //1.控制文件的類型 34 //2.控制文件的大小 35 //3.保存的文件名不重復 36 37 if($arr["type"]=="image/jpeg" || $arr["type"]=="image/png" && $arr["size"]<1024000) 38 { 39 //在新建的文件的名裏面拼加用戶名和時間戳來防止文件重復 40 $filename = "./images/".$uid.time().$arr["name"]; //在保存之前加if語句判斷
41 42 if(file_exists($filename)) //保存之前判斷該文件是否存在 43 { 44 echo "該文件已存在"; 45 } 46 else 47 { 48 $filename = iconv("UTF-8","gb2312",$filename); 49 move_uploaded_file($arr["tmp_name"],$filename); 50 } 51 } 52 else 53 { 54 echo "上傳的文件大小或類型不正確"; 55 }

//前臺頁面(接上面):

 1 </head>
 2 
 3 <body>
 4 <h1>上傳文件</h1>
 5 
 6 enctype="multipart/form-data"  //如果是上傳文件的話得需要寫個屬性enctype代表規定了一個數據類型
 7 
 8 
 9 <form action="chuli.php" method="post" enctype="multipart/form-data">
10 請選擇文件:<input type="file" name="file" />
11           <input type="submit" value="上傳" />
12 
13         
14 </form>
15     //一點擊上傳,它就把這個文件放在服務器上一個暫時存放臨時文件的地方,然後把上傳這個文件的相關信息交給
16     //action的處理頁面
17     //文件存放在服務器存放臨時文件的地方
18     //文件的相關信息交給處理頁面
19 </body>
20 
21 </html>

文件上傳的基本知識