符合 RFC-1867 標準的瀏覽器
PHP 的這種特性使得我們既可以上傳文本文件,也可以上傳二進制文件。利用 PHP 的認証和文件操作函式,您就可以控制誰有上傳的權限,以及在文件上傳後進行哪些處理。
PHP 也支援 PUT 方法的文件上傳,Netscape Composer 和 W3C 的 Amaya 客戶端使用這種方法。
自動全域變數 $_FILES 從 PHP 4.1.0 版本開始被支援。在這之前,從 4.0.0 版本開始,PHP 支援 $HTTP_POST_FILES 陣列。這些陣列將包含所有關於您上傳的文件的訊息,其中,我們推薦您使用 $_FILES。
我們假設文件上傳字段的名稱如上例所示,為 userfile。
$_FILES['userfile']['name']
客戶端機器文件的原名稱。
$_FILES['userfile']['type']
文件的 MIME 型別,需要瀏覽器提供該訊息的支援,例如“image/gif”。
$_FILES['userfile']['size']
已上傳文件的大小,單位為字節。
$_FILES['userfile']['tmp_name']
文件被上傳後在伺服端儲存的臨時文件名。
$_FILES['userfile']['error']
和該文件上傳相關的錯誤代碼。['error'] 是在 PHP 4.2.0 版本中增加的。
UPLOAD_ERR_OK
值:0; 沒有錯誤發生,文件上傳成功。
UPLOAD_ERR_INI_SIZE
值:1; 上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上傳。
UPLOAD_ERR_NO_FILE
值:4; 沒有文件被上傳。
註: 這些在 PHP 4.3.0 之後變成了 PHP 常數。
在 PHP 4.2.0 以上版本,您還可以通過 $_FILES['userfile']['error'] 變數來根據不同的錯誤代碼來做相關的判斷。不管做何種的判斷,您必須將該文件從臨時目錄中刪除,要麼將其移動到其它的地方。
如果該文件沒有被移動到其它地方也沒有被改名,則該文件將在表單請求結束時被刪除。
Personal notes ~
追蹤網誌清單
IT Info
Reference
標籤
- 代討論
- 防盜
- 常規表示式(regular expression)
- 進度
- 電子地圖
- 網站搬家程式
- Ajax Library
- Application of Perl
- C#
- CakePHP
- Coding Convention
- CSS
- Data injection
- DBI
- Debug
- Diff Browser
- Effect : Slideshow
- Engineering - Desing Pattern
- framework
- Framework - CodeIgniter
- Functions
- Imgick
- jquery
- JS Framework
- JS Library
- JS Object : Statement
- Linux
- Mapping Other Language
- Need to Turnning
- NetBeans
- OOAD-MVC
- open source suit software
- Performance
- Perl Installation
- PHP Class
- PHP rpc Java
- PHP to PERL
- Presentation
- RIA
- Serculity
- Service
- SQL injection
- Tips
- Tools
- Variable
- Versus
- WCF
- WebSite Thumbnail
- XML
- ZK Ajax
網誌存檔
-
▼
2007
(80)
-
▼
5月
(51)
- check class
- exec() check
- POST 方法上傳
- foreach
- Group , Join
- fetch query result
- kkwi
- 20070522 Mysql Driver 編碼問題
- ignore_user_abort() ...
- 換掉別人的網站首頁
- php
- CakePHP使用手冊-命名規則?
- CakePHP使用手冊-暫存機制(Cache)
- CakePHP使用手冊-安全性元件(Security Component)
- CakePHP使用手冊-要求處理元件
- CakePHP使用手冊-資料過濾
- CakePHP使用手冊-Session元件(Session Component)
- CakePHP使用手冊-權限控制表(ACL)
- CakePHP使用手冊-插件(Plugin)
- CakePHP使用手冊-資料檢驗
- CakePHP使用手冊-全域函式與常數
- CakePHP使用手冊-AJAX Helper
- CakePHP使用手冊-Helper
- CakePHP使用手冊-HTML Helper
- CakePHP使用手冊-View
- CakePHP使用手冊-Component
- CakePHP使用手冊-何謂model?(二)
- CakePHP使用手冊-Controller
- CakePHP使用手冊-何謂model?(一)
- CakePHP使用手冊-Scaffold(鷹架)
- CakePHP使用手冊-安裝
- CakePHP使用手冊-設定
- CakePHP使用手冊-基礎觀念
- CakePHP使用手冊-簡介
- CakePHP使用手冊-序
- CakePHP 譯序
- Data injection
- SQL injection
- Java 程式碼慣例 -- 第十一章 程式碼範例
- Java 程式碼慣例 -- 第十章 程式習慣
- Java 程式碼慣例 -- 第九章 命名慣例
- Java 程式碼慣例 -- 第八章 空白
- Java 程式碼慣例 -- 第七章 敘述
- Java 程式碼慣例 -- 第六章 宣告
- Java 程式碼慣例 -- 第四章 縮排
- Java 程式碼慣例 -- 第五章 註解
- Java 程式碼慣例 -- 第二章 檔案名稱
- Java 程式碼慣例 -- 第三章 檔案組織
- Java 程式碼慣例-導論
- CakePHP Basic Setup and Views
- 用PHP函数解决SQL injection
-
▼
5月
(51)
沒有留言:
張貼留言