標籤:windows系統 UI 移動 == ges bsp 處理 臨時檔案 pre
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.jpg12 $filename = "./images/11.jpg";13 14 //windows系統採用的編碼格式不是UTF-8的形式而是 國標的gb2312格式15 //所以往windows裡面存東西的時候要轉化為國標的gb2312的編碼格式儲存才可以16 //轉換編碼格式: 意思就是將$filename的編碼格式UTF-8轉化為gb2312的格式形成一個新的$filename17 $filename = iconv("UTF-8","gb2312",$filename);18 19 //移動臨時檔案到我們想存放的位置20 //括弧內的第一個參數是臨時檔案的路徑 也就是 $arr["tmp_name"];21 //第二個參數是要移動到的位置 也就是 $filename22 move_uploaded_file($arr["tmp_name"],$filename);23 24 25 26 27 28 29 30 31 <?php32 //添加上傳檔案的限制條件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 else47 {48 $filename = iconv("UTF-8","gb2312",$filename);49 move_uploaded_file($arr["tmp_name"],$filename); 50 }51 }52 else53 {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>
檔案上傳的基本知識