2010-03-16 38 views
1

我沒有找到理解和解決這個問題的方法,而且我做了很多。

我有一個腳本,希望是一個簡單的形式,發送一個文件槽POST。第二個文件處理信息。

默認情況下,我給用戶一些字段,其中一個是「文件」類型的輸入字段,另外還有一些「隱藏」字段,它使我可以在POST上使用這些值。

我發現,當添加一個類型爲「file」的新輸入時,$ _POST返回數組0,甚至$ _FILES也不會返回任何內容。我不知道如何解決這個問題,並且在保持「file」類型的默認輸入框的情況下工作得很好。

<input type="file" id="video" name="video" class="validate['required','video']" cols="100"> 

存在:

<form id="formulario" enctype="multipart/form-data" action="projectos_processar.php" method="POST"> 

    Modo inserir projecto item!<br/><br/> 
    <label>Imagem de apresentacao: </label> 

    <input id="img_p_child" type="file" name="img_p_child" cols="100" value="" class="validate['required','image']" /><br/> 

    <br/> 
    <br/> 

    <input type="file" id="video" name="video" class="validate['required','video']" cols="100"> 

    <br/>      
    <br/> 
    <hr> 
    Publicar o item ? <br/> 
    <br/> 
    <br/>      

    Sim <input type="radio" name="published" value="1"><br> 
    Nao <input type="radio" name="published" value="0" checked="true"><br> 

    <hr> 

    <!-- INICIO:: CAMPOS EM MODO HIDDEN --> 
    <input type="hidden" value="center" name="crop_X_Y" /> 
    <input type="hidden" value="assets/publicidade/FURIOUS01/" name="stringDirPagina" /> 
    <input type="hidden" value="128" name="parent_id" /> 
    <input type="hidden" value="projectos_item" name="pagina_id"/> 
    <input type="hidden" value="inserir" name="tarefa" /> 
    <!-- FIM:: CAMPOS EM MODO HIDDEN --> 

    <br/> 
    <input type="submit" value="Enviar" /> 
</form> 

這隻有在發生!

var_dump($_POST)$_FILESprint_r()等等什麼都不返回。我試圖在類型「文件」的輸入上創建一個數組,例如img_p_child[],但沒有任何結果。

如何解決這個問題?

感謝您抽出時間!


我忘了提,我trieed現在發送在第二個輸入字段和作品的圖像文件,但不能用。FLV文件。所以我懷疑有最大的權限,我需要改變php.ini,如果是這樣的話,我很抱歉! :X

回答

6

php.net摘自:

的post_max_size影響文件上傳。要上傳大文件,此 值必須大於upload_max_filesize。如果配置腳本啓用的內存限制爲 ,則memory_limit也會影響文件 上傳。一般來說,memory_limit應該大於 post_max_size。當使用整數時,該值在 字節中測量。速記符號也可以使用。如果發佈數據 的大小大於post_max_size,則$ _POST和$ _FILES超大全局密鑰 爲空。這可以通過各種方式進行跟蹤,例如,通過將 $ _GET變量傳遞給處理數據的腳本,即,然後檢查是否設置了 $ _GET ['processed']。

memory_limit設置允許分配腳本 的最大內存量(以字節爲單位)。這有助於防止 服務器上所有可用內存吃光不佳的腳本。請注意,如果沒有 內存限制,請將此指令設置爲-1。

話雖這麼說,你需要改變一些東西在你的php.ini允許更大上傳:

upload_max_filesize = 10M; 
post_max_size = 20M; 
memory_limit = 18M; 

添加以下.htaccess文件在你的根目錄。

php_value upload_max_filesize 10M 
php_value post_max_size 20M 
php_value memory_limit 18M 

顯然,這些尺寸會根據您的需求而有所不同。 Here is a nice article增加您的上傳大小。

+1

Goo Reference .... to .htaccess +1 – Baba 2013-06-11 13:38:53

相關問題