Является ли метод POST в php максимальным размером или php на одной странице имеют предельные переменные? [Дубликат]

Еще один способ добавить изображение в базу данных с помощью Cloud Function для отслеживания каждого загруженного изображения и сохранения его в базе данных.

exports.fileUploaded = functions.storage.object().onChange(event => {

    const object = event.data; // the object that was just uploaded
    const contentType = event.data.contentType; // This is the image Mimme type\

    // Exit if this is triggered on a file that is not an image.
    if (!contentType.startsWith('image/')) {
        console.log('This is not an image.');
        return null;
    }

    // Get the Signed URLs for the thumbnail and original image.
    const config = {
        action: 'read',
        expires: '03-01-2500'
    };

    const bucket = gcs.bucket(event.data.bucket);
    const filePath = event.data.name;
    const file = bucket.file(filePath);

    file.getSignedUrl(config, function(err, fileURL) {
        console.log(fileURL);
        admin.database().ref('images').push({
            src: fileURL
        });
    });
});

Полный код здесь: https: //gist.github .com / bossly / fb03686f2cb1699c2717a0359880cf84

228
задан invertedSpear 2 March 2010 в 17:37
поделиться

8 ответов

Это зависит от конфигурации сервера. Если вы работаете с PHP под Linux или аналогичным, вы можете управлять им с помощью файла конфигурации .htaccess, например:

#set max post size
php_value post_max_size 20M

И, да, я лично могу подтвердить, что это работает: )

Если вы используете IIS, я не знаю, как вы установили это значение.

179
ответ дан Wolverine 5 September 2018 в 08:17
поделиться

Как заметил Дэвид, в большинстве случаев я бы пошел с КБ.

php_value post_max_size 2KB

Примечание: моя форма проста, всего несколько текстовых полей, недолговечный текст.

5
ответ дан alecxe 5 September 2018 в 08:17
поделиться

Кроме того, в файле PHP.INI есть параметр:

max_input_vars

, который в моей версии PHP: 5.4.16 по умолчанию - 1000.

Из руководства: «Сколько входных переменных может быть принято (предел применяется к $ _GET, $ _POST и $ _COOKIE суперглобальным отдельно)»

Ref .: http://www.php.net/manual/ ан / info.configuration.php # ini.max-ввода-вары

39
ответ дан Babak Naffas 5 September 2018 в 08:17
поделиться

Вы можете опубликовать большой объем данных, установив переменную php.ini: max_input_vars Размер по умолчанию этой переменной - 1000, но если вы хотите отправить большой объем данных, вы должны соответственно увеличить размер. Если вы не можете установить размер из ini_set, вам нужно сделать это через htaccess или внести изменения в файл php.ini напрямую.

max_input_vars  2500
memory_limit    256M
9
ответ дан Bowdzone 5 September 2018 в 08:17
поделиться

До http-сервера решать, есть ли предел. Продукт, над которым я работаю, позволяет администратору настроить лимит.

1
ответ дан ChrisH 5 September 2018 в 08:17
поделиться

URL-адрес запроса (GET и POST) может быть ограничен как браузером, так и сервером - обычно безопасный размер составляет 2 КБ, поскольку почти нет браузеров или серверов, которые используют меньший предел.

Тело запроса (POST) обычно * ограничено сервером на основе размера байта, чтобы предотвратить тип атаки DoS (обратите внимание, что это означает, что экранирование символов может увеличить размер байта тела). Наиболее распространенный параметр сервера - 10 МБ, хотя все популярные серверы позволяют увеличить или уменьшить его с помощью файла настроек или панели.

* Некоторые исключения существуют со старым мобильным телефоном или другими браузерами небольших устройств - в этих случаях это больше функция кучного пространства, зарезервированного для этой цели на устройстве, а затем что-нибудь еще.

67
ответ дан David 5 September 2018 в 08:17
поделиться

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

См. это:

<input type='text' name='hs1' id='hs1'>
<input type='text' name='hs2' id='hs2'>
<input type='text' name='hs3' id='hs3'>
<input type='text' name='hs4' id='hs4'>
<input type='text' name='hs5' id='hs5'>

<input type='hidden' name='hd' id='hd'>

Используя любой скрипт (JavaScript или JScript),

document.getElementById("hd").value = document.getElementById("hs1").value+"@"+document.getElementById("hs2").value+"@"+document.getElementById("hs3").value+"@"+document.getElementById("hs4").value+"@"+document.getElementById("hs5").value

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

-1
ответ дан Hutch Moore 5 September 2018 в 08:17
поделиться

По умолчанию запрос на отправку имеет максимальный размер 8 МБ. Но вы можете изменить его в соответствии с вашими требованиями. Модификацию можно выполнить, открыв файл php.ini (настройка конфигурации php).

Найти

post_max_size=8M  //for me, that was on line:771

заменить 8 в соответствии с вашими требованиями.

1
ответ дан Muhammad Ashfaq 5 September 2018 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: