文件上傳的基本知識
阿新 • • 發佈:2017-08-02
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>
文件上傳的基本知識