2012-02-15 61 views
2

我遇到了我的劇本,我正在測試上傳PDF文件的一個奇怪的問題上傳PDF文件。我可以成功上傳一些PDF文件,而不是其他文件,即使它們都是pdf文件,並且具有.pdf作爲擴展名。任何人都可以扔在這一些輕去thtough我的代碼問題用PHP

HTML部分之後:

<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">        
    <input type="file" name="upload" /><br />   
    <input type="submit" name="submit"> 

PHP PART:

if(isset($_POST['submit'])){ 
       $output_form = 0;     

       if (($_FILES["upload"]["type"] == "application/pdf") 
        && ($_FILES["upload"]["size"] < 80000)){ 
         if (file_exists("upload/" . $_FILES["upload"]["name"])) 
          { 
          echo $_FILES["upload"]["name"] . " already exists. "; 
          } 
          else 
          { 
          move_uploaded_file($_FILES["upload"]["tmp_name"], 
          "upload/" . $_FILES["upload"]["name"]); 
          echo "Stored in: " . "upload/" . $_FILES["upload"]["name"]; 
          }       
        }else{ 
         echo 'Invalid File'; 
        }      
      } 

對於一些文件,我得到的輸出,存儲在輸出。對於其他人,我收到消息「無效文件」。

感謝

+0

燦它是,你可以上傳**短**文件,而不是**更長的**文件?如果是的話,看看你的最大文件上傳大小在php.ini – 2012-02-15 12:48:43

回答

1

代碼上面似乎有一個條件,如果文件大小不大於80000,那麼它應該拋出「無效文件」的錯誤?那些失敗的尺寸是多少?如果你註釋掉條件我願意打賭它會工作

+0

嗨,與您的建議一起工作。但我工作的文件不大於5MB。有沒有辦法增加上傳文件的大小。如果是這樣如何? – 125369 2012-02-15 13:35:52

+0

研究Eugen Rieck在原帖的評論中提到的 - 這可能是關鍵! – roryok 2012-02-20 16:08:37

0

有同樣的問題。 發現這個文件類型也可以是應用程序/ x-八位字節流 所以你需要在你正在檢查的文件大小相同的語句來檢查這一點。 像這樣: 如果(($ _FILES [ 'pdfUpload'] [ '類型'] == 「應用/ PDF」) ||($ _FILES [ 'pdfUpload'] [ '類型'] ==「應用/ X-八位字節流「) & &($ _FILES [ 'pdfUpload'] [ '大小'] < 9000000))//大得多,我們得到

我的2美分的價值傳遞過程中的超時