關於PHP下傳的有關問題

來源:互聯網
上載者:User
關於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版本自己不能改的~客戶的伺服器~

那也總不至於加法也不會做了吧?
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.