2011-06-17 34 views
0

我在上傳圖片的腳本時遇到了困難,需要在Internet Explorer中上傳圖片。我一直在尋找Google的解決方案,並且添加「image/pjpeg」mime類型似乎適用於所有人,但我已將它添加到我的代碼中,但仍無法使其工作。PHP圖片上傳器 - IE「pjpeg」MIME類型,無法正常工作

以下是我有:

$acceptedExts = array ('jpg','jpeg'); 

if ( in_array($ext,$acceptedExts) 
    && ( $_FILES["uploaded_file"]["type"] == "image/pjpeg" 
     || $_FILES["uploaded_file"]["type"] == "image/jpeg") 
    && ($_FILES["uploaded_file"]["size"] < 16000000)) { 

上午我做錯了什麼?

謝謝!

+0

do'var_dump($ _ FILES [「uploaded_file」] [「type」])'查看瀏覽器提供的文件類型。 – datasage

回答

1

嘗試一個var_dump($_FILES['uploaded_file'])以查看IE正在發送的內容。它可能是image/jpg或完全不同的東西。但是,使用用戶提供的['type']字段進行驗證的做法很糟糕。創造這個價值是微不足道的。最好使用服務器端方法來確定文件類型,例如get_image_size()FileInfo庫,它們都返回文件的真實MIME類型。

+0

啊,我做了var_dump,它說這是一個圖像/ PNG出於某種原因...奇怪!任何想法爲什麼?那麼幫助解決了我的問題,所以現在我只允許圖像/ PNG,它的工作正常!非常感謝! – Drew