雲伺服器配置php.ini實現PHP檔案上傳
本文介紹瞭如何配置php.ini實現PHP檔案上傳功能。其中涉及到php.ini配置檔案中的upload_tmp_dir、 upload_max_filesize、post_max_size等選項,這些選項是檔案上傳成敗的關鍵。我們以php.5.3.5的Windows 版本為例說明。
php.ini中檔案上傳功能配置選項說明
用文字工具(推薦EditPlus)開啟php.ini 配置檔案,查詢 File Uploads ,在這個區域有以下3個選項:
file_uploads = On
是否允許HTTP檔案上傳。預設值為On允許HTTP檔案上傳,此選項不能設定為Off。
upload_tmp_dir =
檔案上傳的臨時存放目錄。如果沒指定則PHP會使用系統預設的臨時目錄。該選項預設為空,此選項在手動配置PHP執行環境時,也容易遺忘,如果不配置這個 選項,檔案上傳功能就無法實現,你必須給這個選項賦值,比如upload_tmp_dir = "d:/fileuploadtmp" ,代表在D盤目錄下有一個fileuploadtmp目錄,並且給這目錄讀寫許可權。
upload_max_filesize = 2M
上傳檔案的最大尺寸。這個選項預設值為2M,即檔案上傳的大小為2M,如果你想上傳一個50M的檔案,你必須設定 upload_max_filesize = 50M。
但是僅設定upload_max_filesize = 50M 還是無法實現大檔案的上傳功能,我們還必須修改php.ini檔案中的 post_max_size 選項。
繼續在 php.ini 中查詢 Data Handling ,在這個區域有1個選項:
post_max_size = 8M
指透過表單POST給PHP的所能接收的最大值,包括表單裡的所有值。預設為8M。如果POST資料超出限制,那麼$_POST和$_FILES將會為空。
要上傳大檔案,你必須設定該選項值大於upload_max_filesize選項的值,例如你設定了upload_max_filesize = 50M ,這裡可以把post_max_size = 100M。
另外如果啟用了記憶體限制,那麼該值應當小於memory_limit 選項的值。
繼續在 php.ini 中查詢 Resource Limits ,在這個區域有3個選項:
max_execution_time = 30
每個PHP頁面執行的最大時間值(單位秒),預設30秒。當我們上傳一個較大的檔案,例如50M的檔案,很可能要幾分鐘才能上傳完,但php預設頁面最久 執行時間為30秒,超過30秒,該指令碼就停止執行,這就導致出現無法開啟網頁的情況。因此我們可以把值設定的較大些,如 max_execution_time = 600。 如果設定為0,則表示無時間限制。
max_input_time = 60
每個PHP指令碼解析請求資料所用的時間(單位秒),預設60秒。當我們上傳大檔案時,可以將這個值設定的較大些。 如果設定為0,則表示無時間限制。
memory_limit = 128M
這個選項用來設定單個PHP指令碼所能申請到的最大記憶體空間。這有助於防止寫得不好的指令碼消耗光伺服器上的可用記憶體。如果不需要任何記憶體上的限制將其設為 -1。
php5.2.0以前的版本預設8M; php.5.2.0版本預設為16M。php 5.2.0之後的版本預設為 128M;
php.ini 配置上傳檔案功能示例
假設要上傳一個50M的大檔案。配置 php.ini 如下:
file_uploads = On
upload_tmp_dir = "d:/fileuploadtmp"
upload_max_filesize = 50M
post_max_size = 100M
max_execution_time = 600
max_input_time = 600
memory_limit = 128M
提示:需要保持 memory_limit > post_max_size > upload_max_filesize
此例僅供參考,你可以根據實際情況調整。
文章轉自:西昆雲
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957453/viewspace-2757279/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP配置檔案詳解php.iniPHP
- PHP實現單檔案、多檔案上傳 封裝 物件導向實現檔案上傳PHP封裝物件
- PHP實現圖片(檔案)上傳PHP
- php修改php.ini配置檔案中disable_functionsPHPFunction
- 通過配置檔案(.htaccess)實現檔案上傳
- PHP檔案跨伺服器上傳PHP伺服器
- JavaScript+PHP實現影片檔案分片上傳JavaScriptPHP
- php.ini 檔案在哪裡?PHP
- PHP上傳檔案PHP
- PHP獲取和操作配置檔案php.ini的幾個函式PHP函式
- 用PHP實現上傳的ZIP檔案的解壓PHP
- ajax實現檔案上傳
- PHP ftp上傳檔案PHPFTP
- PHP 分片上傳檔案PHP
- php.ini安全配置PHP
- php.ini 檔案存放位置不對?PHP
- springboot上傳檔案配置Spring Boot
- 檔案上傳原理和實現
- 使用Spring實現上傳檔案Spring
- Spring mvc檔案上傳實現SpringMVC
- HttpFileCollection 實現多檔案上傳HTTP
- php檔案上傳大小限制PHP
- Linux伺服器上傳檔案傳送檔案Linux伺服器
- PHP 效能優化 - php.ini 配置PHP優化
- 使用java的MultipartFile實現layui官網檔案上傳實現全部示例,java檔案上傳JavaUI
- SpringBoot利用Nginx作為檔案伺服器實現檔案上傳和訪問Spring BootNginx伺服器
- 如何上傳雲伺服器檔案許可權伺服器
- js實現帶上傳進度的檔案上傳JS
- 關於node實現檔案上傳
- Feign實現檔案上傳下載
- Java檔案上傳如何實現呢?Java
- SpringMVC多個檔案上傳實現SpringMVC
- 又拍雲 Node.js 實現檔案上傳、刪除Node.js
- SpringBoot整合阿里雲OSS物件儲存實現檔案上傳Spring Boot阿里物件
- SpringBoot專案實現檔案上傳和郵件傳送Spring Boot
- xftp實現linux伺服器傳輸檔案FTPLinux伺服器
- 自定義檔案上傳功能實現方法
- 【node】檔案上傳功能簡易實現