php實現檔案上傳功能
阿新 • • 發佈:2018-12-30
無聊的很 就來寫個部落格吧 這次來簡單寫下 php 怎麼實現上傳檔案
廢話不多說 開搞!
這是index檔案
1 <form action="upload_file.php" method="post" enctype="multipart/form-data"> 2 <input type="file" name="file" > <br/> 3 <input type="submit" name="submit"> 4 </form>
// enctype就是encodetype就是編碼型別的意思
// multipart/form-data是指表單資料有多部分構成,既有文字資料,又有檔案等二進位制資料的意思
// 需要注意的是:預設情況下,enctype的值是application/x-www-form-urlencoded,不能用於檔案上傳,只有使用了multipart/form-data,才能完整的傳遞檔案資料
// application/x-www-form-urlencoded不是不能上傳檔案,是隻能上傳文字格式的檔案,multipart/form-data是將檔案以二進位制的形式上傳,這樣可以實現多種型別的檔案上傳。
有了HTML檔案之後就要新建一個php檔案
這個是upload_file.php
1 <?php 2 3 if ((($_FILES['file']['type'] == 'image/gif') //如果檔案屬性是gif 4 || ($_FILES['file']['type'] == 'image/jpeg') //如果檔案屬性是jpeg 5 || ($_FILES['file']['type'] == 'image/pjpeg')) //如果檔案屬性是pjpeg 6 && ($_FILES['file']['size'] < 20000)) //這個是並且小於20000kb的大小 7 { 8 if($_FILES['file']['error'] > 0) 9 { 10 echo "Error:" .$_FILES['file']['error']. "<br />"; //如果錯誤就列印錯誤 11 } 12 else 13 { 14 echo "Name:" .$_FILES['file']['name']. "<br />"; //輸出檔名字 15 echo "Type:" .$_FILES['file']['type']. "<br />"; //輸出檔案型別 16 echo "Size:" .($_FILES['file']['size'] / 1024). "KB <br />"; //輸出檔案大小 17 echo "Path:" .$_FILES['file']['tmp_name']. "<br />"; //輸出檔案的路徑 18 if (file_exists("upload/" . $_FILES['file']['name'])) 19 {
//如果檢測到檔名字就輸出檔案已經存在 20 echo $_FILES['file']['name']. "already exists"; 21 } 22 else 23 {
//否則的話就移動檔案到upload目錄
//注意:tmp_name 是上傳者上傳檔案時的臨時檔名字 24 move_uploaded_file($_FILES['file']['tmp_name'], "upload/". $_FILES['file']['name']); 25 echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; //最後輸出檔案的路徑 26 } 27 } 28 } 29 30 else 31 { 32 echo "Error"; 33 } 34 35 ?>
程式結束 謝謝觀看
我有錯的地方請大神在下面評論一下哈~