2014-01-07 117 views
2

我正在使用fineuploader php服務器代碼來處理圖片上傳。限制用戶每次上傳4次

我已經搜索了網頁,到目前爲止找不到我想要的。

我想讓用戶一次最多可以上傳4張圖片。 (不允許多選,用戶需要逐一選擇圖片)

我可以在客戶端解決,但服務器端呢?如何檢測超過4個?

例如: FB允許選擇多達幾百個圖像。想象一下FB只允許最多4個圖像

任何解決方案?

UPDATE 我需要4個最大的一個功能。其他功能需要超過4。我不認爲這是設置php.ini中

回答

1

PHP計數好主意 - www.php.net/count‎

例如

if(count($_FILES) > 4) { /*Throw error*/ } 
+0

它總是返回1。這是爲什麼? –

+1

...因爲這個答案不正確。不知道爲什麼這麼多人投了贊成票。這隻會檢查單個請求中發送的文件數量。 Fine Uploader每個請求只發送一個文件。 –

1

這裏的其他答案都假定多個文件是用單個請求發送的。 Fine Uploader並非如此。每個文件都在一個單獨的請求中發送。

正如您所提到的,Fine Uploader已經在validation.itemLimit option中處理了這個客戶端。如果您還想添加服務器端檢查,則需要確保一些用戶數據(如ID)隨每個請求一起傳遞。這樣,您可以將特定用戶限制爲一定數量的文件。您應該已經擁有某種Cookie設置,可以讓您的服務器將請求與特定用戶進行匹配。默認情況下,這個cookie將被傳遞給每個請求。

+0

您也可以使用會在每次上傳時增加的會話變量。您也需要在一段時間後重新設置它,以允許他再次上傳......如果您有登錄並希望此計數器爲永久性的,那麼您也可以將此計數器存儲在您的數據庫中,供每個用戶使用。 cookie值可能是僞造的,並不安全(儘管這可能並不重要)。 – ToBe