程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php環境無法上傳文件的解決方法

php環境無法上傳文件的解決方法

編輯:關於PHP編程

一、 檢查網站目錄的權限。

上傳目錄是否有寫入權限。

二、 php.ini配置文件
php.ini中影響上傳的有以下幾處:

file_uploads 是否開啟 on 必須開啟

是否允許HTTP文件上傳

post_max_size = 8M

PHP接受的POST數據最大長度。此設定也影響到文件上傳。
要上傳大文件,該值必須大於"upload_max_filesize"
如果配置腳本中激活了內存限制,"memory_limit"也會影響文件上傳。
一般說來,"memory_limit"應該比"post_max_size"要大。

upload_max_filesize = 2M

允許上傳的文件的最大尺寸

upload_tmp_dir = C:\windows\temp
文件上傳時存放文件的臨時目錄。必須是PHP進程用戶可寫的目錄。如果未指定則PHP使用系統默認值

default_socket_timeout = 60
socket超時,單位是秒

max_execution_time = 30
每個腳本最大允許執行時間, 按秒計。默認為30秒。
這個參數有助於阻止劣質腳本無休止的占用服務器資源。
注: "max_execution_time"僅影響腳本本身的運行時間。
任何其它花費在腳本運行之外的時間,如用system()/sleep()函數的使用、數據庫查詢、文件上傳等都不包括在內。
在安全模式下,你不能用ini_set()在運行時改變這個設置

max_input_time = 60
每個腳本接收輸入數據的最大允許時間(POST, GET, upload), 按秒計

memory_limit = 128M
設定一個腳本所能夠申請到的最大內存字節數。
這有助於防止劣質腳本消耗完服務器上的所有內存。
要使用此指令必須在編譯的時候激活。
因此 configure 一行中應該包括:--enable-memory-limit
如果不需要任何內存上的限制,必須將其設為 -1
自php4.3.2 起,當設置了memory_limit後,memory_get_usage()函數將變為可用

三、upload_tmp_dir目錄權限
如果php配置沒問題,那問題有可能出在upload_tmp_dir設定的目錄權限問題。加入IIS_WPG除完全控制外的權限,users的讀寫權限,NETWORK SERVER除完全控制外的權限。

四、如果起用了ZEND,看Temp文件夾中是否有ZendOptimizer.MemoryBase@SYSTEM和ZendOptimizer.MemoryBase@NETWORKSERVICE,如果沒有,就建立它。

五、如果以上都不行,那問題很有可能出在這裡了,檢查windows目錄是否禁用guests來賓組,要給windows目錄users組 讀取和執行權限。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved