關於PHP上傳的問題
move_uploaded_file 函數
上傳檔案
現在的要求是可以上傳任意個檔案
但是總的檔案的大小不能超過5M
該怎麼做呢??
------解決方案--------------------
上傳檔案大小的限制一般在php.ini和httpd.conf設定檔裡有修改,比如php.ini裡有
upload_max_filesize = 8M
post_max_size = 10M
memory_limit = 20M
這類的設定,在httpd.conf裡有
LimitRequestBody 10485760
這類設定
不過你在PHP檔案裡可以直接判斷上傳檔案大小,比如判斷$_FILES["file"]["size"]如果大於5M就不move_uploaded_file 移動。
------解決方案--------------------
上傳的同時記錄相應的檔案上傳資訊(按照使用者,用資料庫或檔案 記錄上傳檔案的總大小或使用者上傳每個檔案的大小)
之後做相應判斷不是可以?
------解決方案--------------------
確認 php.ini 中
session.upload_progress.enabled = on
session.upload_progress.cleanup = off
你可以在
$_SESSION["upload_progress_laruence"]["content_length"]
中得到上傳檔案的總大小
我想你不會排斥 php 5.4 吧?
------解決方案--------------------
你應該是單個使用者的上傳總大小吧,在資料庫中記錄比較好,每個使用者加個上傳總大小欄位,每次對比和更新。
------解決方案--------------------
引用:
引用:上傳的同時記錄相應的檔案上傳資訊(按照使用者,用資料庫或檔案 記錄上傳檔案的總大小或使用者上傳每個檔案的大小)
之後做相應判斷不是可以?
說的有道理,但是似乎我這需求可能無解,主要是上傳附件用來發送郵件的,一次這麼多,
比如第一次你可以總共傳19M
第二次依舊可以總共傳19M
就算放在資料庫也不好判斷
……
也就是每次發送郵件的附件不能大於5M,很好判斷啊,資料庫記錄上傳總大小,不能大於5M,每次傳送檔案後清空為0重新計算。
------解決方案--------------------
引用:
算了,php版本自己不能改的~客戶的伺服器~
那也總不至於加法也不會做了吧?