2016-07-07 31 views
0

我做的HTML用簡單的形式上傳圖片 在Chrome中正常,但在Firefox工作由於某種原因變量$_POS T是空INPUT TYPE =文件進行形式在Firefox

這是空的我形式

<form action="do_upload.php" method="POST" enctype="multipart/form-data"> 
     <fieldset> 
      <p>Select a section</p> 
       <select name="section" required> 
        <option value="">Please Select</option> 
        <option value="0">Announcements</option> 
        <option value="1">Circulars</option> 
        <option value="2">Corportate Governance</option> 
        <option value="3">Financial Report</option> 
       </select> 
      <p>Date</p> 
       <input type="text" name="date" required> 
      <p>Title</p> 
       <input type="text" name="title" required> 
      <p>Search your file</p> 
       <input type="file" name="pdf" required> 
      <div class="sep"></div> 
      <button type="submit">Do it!</button> 
     </fieldset> 
    </form> 

而在我的文件do_upload.php我只有這個:

print_r($_POST); 

即使我填寫的所有表格我總是得到陣列$_POST

我知道要獲取文件我需要使用全球$_FILE,我只想知道爲什麼firefox使用輸入類型文件時顯示空數組。

任何想法?我應該能夠得到這樣的:

Array ([section] => 3 [date] => 07/05/2016 [title] => 123) 
+0

檢查的post_max_size,如果文件超過大小,那麼$ _ POST將永遠是空的 –

+0

你有任何事情之前提交河段'do_upload.php'做重定向? – CIRCLE

+0

還檢查upload_max_filesize –

回答

1

如果輸入類型是file你必須通過$_FILES["pdf"]訪問服務器端上的價值。

說明

經由HTTP POST方法上傳到當前腳本項的數組。該數組的結構在POST方法上傳部分中概述。

參見:http://php.net/manual/en/reserved.variables.files.php

和:每當你做一個文件上傳http://php.net/manual/en/features.file-upload.post-method.php

+0

嘿我的問題是沒有得到該文件,我知道如何得到它。我需要知道爲什麼在Firefox中數組文章變空了,如果我添加一個文件 –

0

,這些文件將會被填充在$ _FILES全局變量,以及其他領域中得到了$ _POST全局變量填充。在您的ini文件

echo $_FILES['pdf']['name']; 
+0

他實際上需要'echo $ _FILES ['pdf'] ['tmp_name'];' – Maurize

+0

我知道如何獲取文件,我不知道爲什麼數組$ _POST在Firefox中變爲空 –