2012-05-13 35 views
0

我正在爲某人制作一個自定義網站,該網站要求新用戶能夠上傳多張照片。 我一直在看圖像上傳腳本,圖像主機API,並從頭開始。 我知道如何使用表單和PHP上傳單個圖像,但我不知道爲多個圖像執行此操作的最佳方法。什麼是爲網站創建多圖片上傳器的好方法?

你有什麼建議?另外,如果我從頭開始或使用腳本,並且圖像存儲在我的服務器上的文件夾中,那麼安全嗎? (人們可以上傳惡意文件並運行它們)

+0

你可以隨時*上傳*惡意文件,但除非你的PHP正在執行它們,我不認爲它們是威脅;但爲了任何Windows用戶的目的,阻止'* .exe's可能仍是一個好主意。 – Hawken

回答

1

因爲你可以在輸入標籤使用多屬性的簡單的多上傳方法:

<input type="file" multiple="multiple" /> 

然而,用戶只能選擇可見的文件當前文件夾視圖;通常只有一個文件夾。

如果您希望能夠添加更多文件,可能會動態將display:none;應用於文件輸入標記並在其位置添加一個新文件。要顯示哪些文件已被選中,請使用javascript列出當前要上傳的文件,如此處所示,multiple-file-upload

或者跳過上面的隱藏步驟,以便在任何給定時間都可以看到所有文件上傳表單,同時動態保留一個空白表單,以便可以上傳更多文件。

因爲multiple屬性仍然是HTML5推測(SPEC)的一部分,所以如果您想要有效的XHTML/HTML,請小心。


另一種方法是使用iframe的並重新加載IFRAME時,文件上傳,這樣用戶可以立即選擇其他文件。

我個人從不使用框架,所以我不知道這可能如何工作。


所謂的「AJAX文件上傳器」方法也是我所見過的一個聰明的iframe技巧。


我能想到的唯一的選擇是靜態有很多<input type="file"/> S和希望你的用戶需要不超過被提供。


我個人只是使​​用普通的<input type="file" multiple="multiple"/>,因爲我會認爲圖片的大部分用戶的使用羣體,他們正試圖同時上傳將在同一文件夾中。

相關問題