2012-03-12 87 views
4

生活在2012我不認爲使用PHP上傳圖片會造成很多困難。PHP的圖像/文件上傳:crossbrowser,多個文件,拖放?

我的要求是:

  • 多文件上傳
  • 跨瀏覽器的功能
  • 考慮安全性依賴於儘可能少的附加功能或擴展
  • 支持拖拽&下降(問題
  • 會很好,至少)

選項可用似乎是對我說:

  1. 簡單的單文件上傳(或幾個單一的文件輸入,但你還是要手動選擇每個圖像)使用PHP(和如GD庫)僅

    (+)優點:充分跨瀏覽器功能性的,不依賴於既不閃光燈,和JavaScript,也不HTML5,也沒有任何附加功能等,最大可定製的

    ( - )缺點:由於不支持多個文件,所以不會拖動& drop等

  2. 妥協,使用eg jQuery的

    爲促進對很多職位和其他網站,看到這個鏈接,如:http://blueimp.github.com/jQuery-File-Upload/

    (+)優點:支持多文件上傳,甚至拖累,此外還有一些不錯的功能,對於大多隻有火狐,Chrome下降, Safari瀏覽器(見鏈接瞭解詳細信息)

    ( - )缺點:只有單一選擇文件,沒有拖&下降的IE瀏覽器(由我自己在IE6,IE8測試)

  3. HTML5:瀏覽器市場份額似乎並不允許僅依賴於HTML5,仍然...

  4. Flash:我發現許多基於閃存的不同上傳器,但是當測試時,許多不能完成他們聲稱的內容(例如,選擇多個文件和跨瀏覽器功能)。兩個例子,我發現有用:

    http://www.uploadify.com/demos/ http://code.google.com/p/swfupload/(參見http://demo.swfupload.org/v220/用於演示)

    (+)優點:提到的那些支持多個文件上傳

    ( - )缺點:不需要拖放,具體取決於Flash的添加,我不是安全專家,也不是非常熟悉flash,但swfupload的文檔例如國家不能/不會檢查上傳的MIME類型,完全依靠檢查的文件擴展名)

然而,我發現聲明,例如谷歌文檔使用多個文件上傳不是基於Flash,但仍然在IE中工作。有沒有人知道他們是如何做到的?

我的其他問題是:我監督一個機會嗎?這些都是更好的選擇嗎?是否有任何非閃存的方式至少多個文件上傳在IE(至少v8)上工作?你們怎麼做?或者它真的在等待並期待HTML5的突破,現在有5個不同的上傳器,每個上傳器都針對特定的瀏覽器/可用性進行了優化?

非常感謝您提前!

+0

豎起大拇指(y)爲您的第一個問題! – NullPointer 2014-05-13 10:01:22

回答

2

它看起來像你做了你的研究很徹底。幾周前我發現了一個類似的難題。至於谷歌文檔參考,我真的很想看到,因爲我從來沒有發現過這樣的事情。就個人而言,如果您與您的網站的年輕受衆打交道,我會推薦使用jQuery選項並向IE用戶顯示Firefox或Chrome瀏覽器推薦。對於那些更可能在IE上的老年人羣去使用Flash。

不幸的是,我找到的確實沒有贏家。但至少在jQuery選項中,您可以避免使用Flash,並有可能在未來的版本中使用IE。隨着HTML5閃存正在迅速消失(和很好的解決)。現在,如果這隻會發生在IE瀏覽器。我的意思是說,即使在IE9中,他們甚至沒有接近競爭對手的標準投訴?它只是荒謬的。

+0

真的好像這是唯一的選擇...就像你說的,可笑! :) – Chris 2012-03-12 20:55:39

+1

不要敲你的迴應pthurmond,但我認爲這不應該被標記爲答案。許多人會對這個常見問題的解決方案感興趣,正如你所說,Google似乎有一個他們使用的解決方案。我很想看看其他人是否有建議。 – MgSam 2012-07-10 20:11:39

+0

我想指出,谷歌似乎確實很好地安靜地整合了需要良好用戶效果的閃存。如果谷歌公佈他們如何完成這些東西的話,這將是很好的。但我同意我的答案不是很多答案。更多的是指出事物的真相。我希望我能給你更多。 – pthurmond 2012-07-26 20:29:57