說明:
在解釋這篇程式碼之前,我們有必要了解以下知識。
$_FILES['myfile']['name'] 是指被上傳檔案的名稱
$_FILES['myfile']['type'] 是指被上傳檔案的類型
$_FILES[ 'myfile']['size'] 是指被上傳檔案的大小,單位為位元組(B)
$_FILES['myfile']['tmp_name'] 是指被上傳檔案存在伺服器中的暫存副本檔案名稱,檔案被移到指定目錄後臨檔案將會自動消毀。
$_FILES['myfile']["error"] 是指由檔案上傳中可能出現的錯誤的狀態碼,關於各狀態意義後在會說明。
了解了這些,我們再來看看upload.php的程式碼。
首先,$_FILES['myfile']['name']中的myfile是指在上面HTML頁面中上傳檔案標籤的name值,根據這個我們才能知道我們正在處理的檔案是哪一個input提交過來的。
然後再來判斷一下 $_FILES['myfile']['name'] 不是否為空,根據這個我們可以知道用戶有沒有上傳文件,從而執行不同的操作。
如果上傳了檔案且狀態是0就說明上傳成功,我們就可以用move_uploaded_file方法把上傳的檔案存放到指定目錄,上面這個例子是指把上傳的檔案移到同目錄下的uploads資料夾下,這個路徑是相對於這個PHP檔案(既upload.php)的相對目錄。
例如,我們想把上傳的檔案移到upload.php上一層叫user的資料夾中的話,我們就可以這樣寫:move_uploaded_file($_FILES['myfile']['tmp_name'] , ". /user/". $FILES['myfile']['name']),這種方法使用起來很方便、靈活,這樣一個檔案就被上傳到伺服器中了,可以打開伺服器中的目錄查看該檔案。