2013-10-10 61 views
3

我無法讓我的uploadscript爲fileformates pdf,doc,odt和txt工作。 有沒有辦法接受所有的文件格式,只需在對象上使用限制的最大大小? 這是我的腳本:如何使用php上傳odt/doc/pdf/txt文件

<?php 
$allowedExts = array("gif", "jpeg", "jpg", "png", "doc", "odt", "pdf", "txt"); 
$temp = explode(".", $_FILES["file"]["name"]); 
$extension = end($temp); 
if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/jpg") 
|| ($_FILES["file"]["type"] == "image/pjpeg") 
|| ($_FILES["file"]["type"] == "image/x-png") 
|| ($_FILES["file"]["type"] == "image/png") 
|| ($_FILES["file"]["type"] == "application/pdf") 
|| ($_FILES["file"]["type"] == "application/txt") 
|| ($_FILES["file"]["type"] == "application/doc") 
|| ($_FILES["file"]["type"] == "application/odt")) 
&& ($_FILES["file"]["size"] < 50000) 
&& in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Feilmelding: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "Denne filen er lastet opp: " . $_FILES["file"]["name"] . "<br>"; 
    echo "Type fil:: " . $_FILES["file"]["type"] . "<br>"; 
    echo "Størrelse: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 

    if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " Filen eksisterer, bytt navn. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 
     echo "Filen er lagret her: " . "upload/" . $_FILES["file"]["name"]; 
     } 
    } 
    } 
else 
    { 
    echo "Feil Filtype"; 
    } 
?> 

它適用於圖片,但不適用於應用程序。 任何幫助將非常感激,有一個偉大的前夕

在前進,謝謝:)

+3

看看不同的[MIME類型](http://www.freeformatter.com/mime-types-list.html#mime-types-list)。 – Jason

+0

太棒了! :D謝謝! – Freshman

+1

我會打印或以其他方式記錄if(){}語句上方的$ _FILES [「file」] [「type」]字符串,以確保MIME類型(通過php解析)是您期望的MIME類型。正如Jason在上面指出的那樣,.odt可能會很好地通過mime類型的「application/vnd.oasis.opendocument.text」。 – Will

回答

5

您使用不正確的介質類型。正確的媒體類型有:.DOC

  • text/plain的支持顯示文本
  • 應用/ vnd.oasis.opendocument.text爲的.odt
  • 應用/ PDF

    • 應用程序/ msword .pdf
  • +0

    工程就像一個魅力,非常感謝:) – Freshman