## PHP文件上傳易犯錯誤
對 MAX_FILE_SIZE 設置的值,不能大于 ini 設置中 upload_max_filesize 選項設置的值。其默認值為 2M 字節。
如果內存限制設置被激活,可能需要將 memory_limit 設置的更大些,請確認 memory_limit 的設置足夠的大。
1.果 max_execution_time 設置的值太小,腳本運行的時間可能會超過該設置。因此,也請保證 max_execution_time 足夠的大。
2.Note: max_execution_time 僅僅只影響腳本本身運行的時間。任何其它花費在腳本運行之外的時間,諸如用函數 system() 對系統的調用、sleep() 函數的使用、數據庫查詢、文件上傳等,在計算腳本運行的最大時間時都不包括在內。
**Warning**
1. max_input_time 以秒為單位設定了腳本接收輸入的最大時間,包括文件上傳。對于較大或多個文件,或者用戶的網速較慢時,可能會超過默認的 60 秒。
2. post_max_size 設置的值太小,則較大的文件會無法被上傳。因此,請保證 post_max_size 的值足夠的大。
不對正在操作的文件進行驗證可能意味著用戶能夠訪問其它目錄下的敏感信息。
**請注意 CERN httpd 似乎會丟棄它從客戶端獲得的 content-type mime 頭信息中第一個空格后所有的內容,基于這一點,CERN httpd 不支持文件上傳特性**。
鑒于文件路徑的表示方法有很多種,我們無法確保用使用各種外語的文件名(尤其是包含空格的)能夠被正確的處理。
開發人員不應將普通的輸入字段和文件上傳的字段混用同一個表單變量(例如都用 foo[])。
- 入門指引
- 簡介
- PHP是什么
- PHP能做什么
- 簡明教程
- 學PHP需要什么
- 我的第一個PHP頁面
- 實用的PHP腳步
- PHP是如何處理表單的
- 在新版本的PHP如何實用舊的PHP代碼
- 下一步需要做什么
- PHP語言參考
- PHP基本語法
- PHP標記
- PHP多進程管理-pcntl_fork
- PHP文件上傳易犯錯誤
- PHP從HTML中分離
- PHP的指令分隔符
- PHP序列化serialize
- PHP類常量
- PHP Traits
- 從 HTML 中分離
- 注釋
- PHP數據類型
- PHP支持的類型簡介
- 布爾類型(Boolean)就是易經知識
- 整型(integer)即整數
- 浮點型(float)
- 字符串(string)
- 數組(Array)
- 對象(object)一定要搞
- 資源類型(resource)
- PHP安裝與環境配置
- 安裝前需要考慮的事項
- Unix系統下安裝PHP
- Unix 系統下安裝 Apache 1.3.x
- Unix 系統下安裝 Apache 2.x
- Unix 系統下安裝 Nginx 1.4.x
- Unix 平臺安裝 Lighttpd 1.4
- Sun Solaris 上的 Sun、iPlanet 和 Netscape 服務器
- CGI 命令行設置
- 針對 HP-UX 平臺的安裝提示
- 在 OpenBSD 系統下的安裝PHP
- Debian GNU/Linux 安裝說明
- 在Mac OS X 系統下安裝PHP
- 使用軟件包
- 使用內置的 PHP
- Windows 系統下的安裝
- 云計算平臺上的安裝
- Microsoft Azure
- 在亞馬遜(Amazon EC2)安裝PHP
- PHP語法參考
- 類型
- NULL
- Callback 回調類型
- 本文檔中使用的偽類型與變量
- 類型轉換的判別
- PHP 類型比較表
- 常量和變量
- 語法基礎
- 預定義變量
- 變量范圍
- 可變變量
- 外部變量
- 常量
- 語法
- 魔術常量
- PHP表達式&運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 錯誤控制運算符
- 執行運算符
- 遞增/遞減運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 類型運算符
- 流程控制
- continue
- switch
- declare
- return
- require
- include
- require_once