PHP文字操作_FILES

老鷹506發表於2012-11-29

_FILES
$_files主要用在當需要上傳二進位制檔案的地方,錄入上傳一個abc.mp3檔案,則伺服器端需要獲得該檔案的相關資訊,則通過變數$_files來取得。

$_FILES[`userfile`][`name`]
客戶端機器檔案的原名稱。

$_FILES[`userfile`][`type`]
檔案的 MIME 型別,需要瀏覽器提供該資訊的支援,例如“image/gif”。

$_FILES[`userfile`][`size`]
已上傳檔案的大小,單位為位元組。

$_FILES[`userfile`][`tmp_name`]
檔案被上傳後在服務端儲存的臨時檔名。

$_FILES[`userfile`][`error`]
和該檔案上傳相關的錯誤程式碼。[`error`] 是在 PHP 4.2.0 版本中增加的。

注: 在 PHP 4.1.0 版本以前該陣列的名稱為 $HTTP_POST_FILES,它並不像 $_FILES 一樣是自動全域性變數。PHP 3 不支援 $HTTP_POST_FILES 陣列。

如果表單中沒有選擇上傳的檔案,則 PHP 變數 $_FILES[`userfile`][`size`] 的值將為 0,$_FILES[`userfile`][`tmp_name`] 將為 none。

注:
$_FILES[`photo`] 這裡的photo是輸入框的名稱,返回值是個陣列型別,其欄位有
name、type、size、tmp_name、error
type “image/pjpeg” “image/jpeg” “image/gif” “text/plain”
move_uploaded_file

— 將上傳的檔案移動到新位置
bool move_uploaded_file ( string $filename , string $destination )
如果目標檔案已經存在,將會被覆蓋
但由於不能移動檔案時 可以COPY檔案到目標目錄下去
copy (string $filename , string $destination)

is_uploaded_file

— 判斷檔案是否是通過 HTTP POST 上傳的
if (is_uploaded_file($_FILES[`userfile`][`tmp_name`])) {
   echo “File “. $_FILES[`userfile`][`name`] .” uploaded successfully.
“;
   echo “Displaying contents
“;
   readfile($_FILES[`userfile`][`tmp_name`]);
} else {
   echo “Possible file upload attack: “;
   echo “filename `”. $_FILES[`userfile`][`tmp_name`] . “`.”;
}
注:read_file 輸出一個檔案到輸出緩衝


相關文章