2010-02-06 123 views
2

我有一個上傳框用於上傳圖片。我想限制用戶上傳一個特定大小的圖像。例如,用戶不能上傳大於允許的寬度,高度的圖像。如果有人試圖選擇這樣的話,那麼我想在上傳圖片之前在客戶端使用javascript向他展示一條消息。如何在上傳圖片/文件時顯示javascript通知?

所以你可以對此有一些想法。我使用我的項目

  • jQuery的

提前感謝以下工具。

+0

無法完成。 – Erik 2010-02-06 07:14:07

+0

我猜如果它不能完成,它不是一個真正的問題? – 2010-02-06 07:27:21

回答

1

它並不完全是你想要的,但是你可以使用PHP的getimagesize()函數來獲取上傳後的尺寸。如果它太大,而不是將其從臨時文件夾複製到上傳文件夾,則可以給他一個錯誤。

通過StackOverflow存檔搜索,我似乎無法找到通過Javascript的解決方案。

+0

感謝您的回答。我知道這一點,但我需要在將文件上傳到服務器之前的大小。 – 2010-02-06 07:20:27

0

您無法訪問客戶端的本地文件。要獲得圖像的大小,您必須以某種方式上傳它。如果您不想重新加載頁面,您可以在後臺使用AJAX將其上傳,但這就是它的範圍。

編輯:對於後者,你可以使用類似this script。在服務器端文件中,使用$_FILES獲取文件,然後使用getimagesize()獲取大小。如果大小有效,請保存文件,然後完成上傳。如果不是,請回顯一條錯誤消息,並將其傳遞給回調中的JavaScript,您可以在其中進行美化和顯示。

+0

感謝您的早期回覆。是的,我知道在上傳文件之前,我們無法在客戶端獲得圖片大小。但正是我想要的。否則,我對我的任務還可以。 – 2010-02-06 07:19:51

1

這可能是ActiveX控件或簽名的Java Applet客戶端,但運行這些需要用戶權限。

0

你不能通知他們,但你不能否認上傳更大的文件 - 從而節省帶寬以及更好的服務器:比當

<input type="hidden" name="MAX_FILE_SIZE" value="size-in-kb" /> 

在php上傳過程中,它會發現你的文件甚至沒有上傳,因爲太大了。更多這裏: http://forums.devshed.com/php-development-5/max-upload-size-how-to-give-notice-to-user-500259.html

+0

沒有瀏覽器實現這個字段。在將控制權傳遞給處理程序之前,PHP將放棄該文件,但瀏覽器仍會完全上傳它。 – 2010-02-07 08:33:15

相關問題