2014年1月15日 星期三

PHP 上傳檔案(File upload)

最近在研究如何使用 PHP 上傳檔案到指定的 Server 資料夾,於是寫了一個簡單的範例:


1.首先寫一支 Form 程式給 Client 端,檔名為 test.php
  1. <?php

  2.     header("Content-Type:text/html; charset=utf-8");

  3.     echo "<form action='upload.php' method='post' enctype='multipart/form-data'>
  4. 檔案名稱:<input type='file' name='file' id='file' /><br />
  5. <input type='submit' name='submit' value='上傳檔案' />
  6. </form>";

  7. ?>


2.接下來是 Server 端接收檔案的程式,檔名為 upload.php
  1. <?php

  2. header("Content-Type:text/html; charset=utf-8");
  3. if ( $_FILES['file']['error'] ) { 
  4.         echo "ERROR: " . $_FILES['file']['error'];
  5.     }
  6. else {
  7. echo "File name: " . $_FILES["file"]["name"] . "<br/>";
  8. echo "File type: " . $_FILES["file"]["type"] . "<br/>";
  9. echo "File size: " . ($_FILES["file"]["size"] / 1024) . " KB<br/>";
  10. if ( file_exists("upload/" . $_FILES['file']['name']) ) {
  11.             echo "File exist!";
  12.         }
  13. else {
  14.             move_uploaded_file( $_FILES['file']['tmp_name'], "upload/{$_FILES['file']['name']}" );
  15.         }
  16.   }

  17. ?>


記得要把兩個檔案放在同一個目錄底下,如果在不同的目錄底下就需要去設定 test.php 中 action 的路徑,而若是想改變上傳檔案所在的資料夾則是去修改 upload.php 中 move_upload_file 中的第二個參數路徑,如此一來便完成了一個基本的上傳檔案到 Server 的功能囉!


沒有留言:

張貼留言