處理上傳檔案
建立了以上的 HTMl 表單後,下一步要做的就是後端的處理。在 PHP 中可以透過二維陣列 $HTTP_POST_FILES 或 $_FILES 來存取所上傳的檔案詳細內容。就以以上表單為例,輸入元素名為 userfile,各陣列元素為:
$_FILES['userfile']['name'] -- 檔案在客戶端電腦上的檔案名稱
$_FILES['userfile']['type'] -- 檔案的 MIME 類型,例如 "image/gif"
$_FILES['userfile']['size'] -- 上傳檔案的檔案大小,單為為 bytes
$_FILES['userfile']['tmp_name'] -- 上傳檔案儲存在伺服器端的暫存檔案名
$_FILES['userfile']['error'] -- 在 PHP 4.2.0 或更新的片本才有的這個陣列元素,上傳檔案的錯誤號碼
// display file details
10 echo "Filename: " . $_FILES['userfile']['name'] . "
";
11 echo "Temporary Name: " . $_FILES['userfile']['tmp_name'] . "
";
12 echo "Size: ". $_FILES['userfile']['size'] . "
";
13 echo "Type: ". $_FILES['userfile']['type'] . "
";
14
15 // copy file here
16 if(@copy($_FILES['userfile']['tmp_name'], "/var/www/uploads/" . $_FILES['userfile']['name'])){
17 echo "File successfully upload";
18 }else{
19 echo "Error: failed to upload file";
20 }
建立了以上的 HTMl 表單後,下一步要做的就是後端的處理。在 PHP 中可以透過二維陣列 $HTTP_POST_FILES 或 $_FILES 來存取所上傳的檔案詳細內容。就以以上表單為例,輸入元素名為 userfile,各陣列元素為:
$_FILES['userfile']['name'] -- 檔案在客戶端電腦上的檔案名稱
$_FILES['userfile']['type'] -- 檔案的 MIME 類型,例如 "image/gif"
$_FILES['userfile']['size'] -- 上傳檔案的檔案大小,單為為 bytes
$_FILES['userfile']['tmp_name'] -- 上傳檔案儲存在伺服器端的暫存檔案名
$_FILES['userfile']['error'] -- 在 PHP 4.2.0 或更新的片本才有的這個陣列元素,上傳檔案的錯誤號碼
// display file details
10 echo "Filename: " . $_FILES['userfile']['name'] . "
";
11 echo "Temporary Name: " . $_FILES['userfile']['tmp_name'] . "
";
12 echo "Size: ". $_FILES['userfile']['size'] . "
";
13 echo "Type: ". $_FILES['userfile']['type'] . "
";
14
15 // copy file here
16 if(@copy($_FILES['userfile']['tmp_name'], "/var/www/uploads/" . $_FILES['userfile']['name'])){
17 echo "File successfully upload";
18 }else{
19 echo "Error: failed to upload file";
20 }
Powered by ScribeFire.
沒有留言:
張貼留言