$ _POST становится пустым после добавления нового типа ввода «файл» - PullRequest
1 голос
/ 16 марта 2010

Я не нахожу способ понять и исправить это, и я многое сделал.

У меня есть скрипт, желание - это простая форма, которая отправляет файл через POST. Второй файл, обработать информацию.

По умолчанию я даю пользователю несколько полей, одно из которых является полем ввода типа «файл», а также несколько «скрытых» полей, которые дают мне значения для работы с POST.

Я обнаружил, что при добавлении нового ввода типа «файл» $ _POST возвращает массив 0, даже $ _FILES ничего не возвращает. Я понятия не имею, как это исправить, и он прекрасно работает, если оставить поле ввода по умолчанию типа «файл».

<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>

Это происходит только тогда, когда:

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

есть! * * 1013

var_dump( $_POST ) или $_FILES, print_r() и т. Д. Ничего не возвращают. Я пытался создать массив на входе типа «файлы», например img_p_child[], но ничего.

Как это решить?

Спасибо, что нашли время!


Я забыл упомянуть, что я пытался отправить файл изображения во второе поле ввода и работает, но не с .FLV-файлом. Поэтому я подозреваю, что есть максимальное разрешение, которое мне нужно изменить на php.ini, если это так, извините! : X

1 Ответ

6 голосов
/ 23 марта 2012

Взято из php.net :

post_max_size влияет на загрузку файла.Для загрузки больших файлов это значение должно быть больше, чем upload_max_filesize.Если лимит памяти включен вашим скриптом configure, то memory_limit также влияет на загрузку файлов.Вообще говоря, memory_limit должен быть больше, чем post_max_size.Когда используется целое число, значение измеряется в байтах.Сокращенное обозначение также может быть использовано.Если размер данных поста больше, чем post_max_size, суперглобальные переменные $ _POST и $ _FILES пусты.Это можно отследить различными способами, например, передав переменную $ _GET скрипту, обрабатывающему данные, т. Е. И затем проверив, установлено ли значение $ _GET ['processing'].

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 

Очевидно, что эти размеры будут варьироваться в зависимости от ваших потребностей. Вот хорошая статья об увеличении размера загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...