2016-11-02 68 views
0

最近我需要在一種形式中使用多個輸入類型的文件。但是,當我發佈表單返回null。就像我在$ _POST上沒有任何東西。我還添加了enctype =「multipart/form-data」。我最近2天被堆疊起來。 Google搜索了很多次。但仍然沒有得到任何解決方案。請幫我解決這個問題。如何在一個html表單中使用多個輸入類型文件?

<form enctype="multipart/form-data" action="/admin/process_post/savepost" method="POST"> 
      <div class="uk-grid uk-grid-small" data-uk-grid-margin=""> 
       <div class="uk-width-medium-7-10"> 

        <div class="md-card"> 
         <div class="md-card-content"> 
          <h3 class="heading_a uk-margin-medium-bottom">Add New Canvas</h3> 
          <div class="uk-grid" data-uk-grid-margin> 
           <div class="uk-width-medium-1-1"> 
            <div class="uk-form-row"> 
             <label>Post Title</label> 
             <input type="text" name="post_title" id="post_title" class="md-input" /> 
            </div> 

            <div class="uk-form-row"> 
             <label>Post Description</label> 
             <textarea id="post_desc" name="post_desc" cols="30" rows="20"></textarea> 
            </div> 

           </div> 
          </div> 

         </div> 
        </div> 


       </div> 

       <div class="uk-width-medium-3-10"> 
        <div class="md-card"> 
         <div class="md-card-content"> 
          <div class="uk-form-row"> 
           <p> 
            <input type="checkbox" name="post_status" id="post_status" checked data-md-icheck /> 
            <label for="post_status" class="inline-label">Post Status</label> 
           </p> 
          </div> 
         </div> 
        </div> 

        <div class="md-card"> 
         <div class="md-card-content"> 
          <div class="uk-form-row"> 
           <label for="post_attachment" class="inline-label">Post Featured Image</label> 
           <input type="file" id="post_attachment" name="post_attachment"> 
          </div> 

         </div> 
        </div> 

        <div class="md-card"> 
         <div class="md-card-content"> 
          <div class="uk-form-row"> 
           <label for="result_img" class="inline-label">Post result Image</label> 
           <input type="file" id="result_img" name="result_img" multiple="multiple"> 
          </div> 

         </div> 
        </div> 

        <div class="md-card"> 
         <div class="md-card-content"> 
          <div class="uk-form-row"> 
           <button type="submit" class="uk-form-file md-btn md-btn-primary">Save Post</button> 
          </div> 
         </div> 
        </div> 

       </div> 
      </div> 

     </form> 

我知道這是開發者面對這樣的問題時的一個愚蠢的情況。

+0

檢查您是否在操作url中有錯誤。這個表格必須返回一些東西我已經將它複製到簡單的php文件中,並將操作指向它,並且它應該返回$ _POST和$ _FILES。 –

+0

你確定問題出在file _type_上嗎? _large_是您想要上傳的文件的大小? –

+0

但是,當我使用一個輸入類型文件,然後其工作 –

回答

1

文件可以通過$_FILES

可以得到當相同的名字進行多次上傳,命名爲陣列的名稱舉例末端附加[](name="images[]")

如果上傳仍然顯示爲空的,你說在評論說有一個文件是正確的,請嘗試將php.ini post_max_sizeupload_max_filesize更改爲更大的值。另請查看max_file_uploads - 每個請求允許上傳的文件數量。

+0

謝謝。我已經嘗試過,但也沒有發現什麼,$ _FILES –

+0

首先檢查錯誤,然後檢查您的最大文件上傳(MAX),如果它們大於服務器允許的,則會導致上傳空。 – Ultrazz008

+0

仍然沒有工作嘗試也NAME =「my_file []」 –

0

你需要改變你的文件輸入名稱到一個數組

<input type="file" id="result_img" name="result_img[]"> 

也可以嘗試加入multiple

<input type="file" id="result_img" name="result_img[]" multiple> 

要檢查的文件,你必須使用$_FILES代替$_POST

+0

不與 –

+0

工作可能是別的東西。我複製粘貼你的代碼,改變文件類型輸入名稱到數組然後返回'print_r($ _ FILES)',它工作正常。 – raz

0

你的問題應該是你的表單動作,試着在它的末尾加上「/」,看看它是否有效:

<form enctype="multipart/form-data" action="/admin/process_post/savepost/" method="POST"> 
+0

不能與 –

+0

錯誤,其中$ _POST或$ _FILES爲空可能是通過傳遞形式的動作獲取重定向的URL。如果您的網站在某些網址格式上創建重定向,則可能存在問題。在Firefox上安裝Firebug,並在「Net」選項卡上設置,然後提交表單並查看結果。你的動作url應該是200的狀態。如果是301永久移動,這可能是問題 –

+0

它以200狀態發佈一切。但$ _POST或$ _FILES仍然是空白的。 –

相關問題