Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Помог: 0 раз(а)
Такая ситуация. Есть форма, клиент через нее отправляет текст. Метод Post. Какая функция проверяет, так сказать, вес "переменной"? Да, можно использовать strlen, но она не подойдет, нужно именно значение в байтах. Да, я долго гулил, не нашел.
Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Помог: 0 раз(а)
Данил_123 пишет:
1 символ = 1 байт
Unicode: 1 символ = 2 байта
да я понимаю, но надо точно определить. Да, можно записать в файл, потом "взвесить", но если пользователь отправит на сервер 5 произведений "война и мир"? а если пользователей таких будет >100? вот поэтому я хочу проверять форму, желательно без записи на жесткий
----- In Console We Trust. Code hard. Or die.
Данил_123
Отправлено: 01 Марта, 2012 - 19:41:58
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Помог: 0 раз(а)
я в общем говорю. никто же не знает, что клиент отправит через форму, точнее, какое кол-во инфы. (Добавление)
вопрос снят, поискав в phpinfo можно найти волшебные post_max_size
Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Помог: 0 раз(а)
ну а текст тоже ведь на мб 40-50 можно отправить
----- In Console We Trust. Code hard. Or die.
Bio man
Отправлено: 01 Марта, 2012 - 20:07:17
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
caballero, точняк. но ведь все таки можно узнать размер переменной, только операция может занять больше ресурсов чем сама переменная. кстати вот убедился
wiki пишет:
в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт (на деле, только до 4 байт, поскольку в Юникоде нет символов с кодом больше 10FFFF, и вводить их в будущем не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.
Мелкий
Отправлено: 01 Марта, 2012 - 21:02:49
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Tox пишет:
Да, можно использовать strlen, но она не подойдет, нужно именно значение в байтах.
Именно strlen вам размер строкового значения в байтах и вернёт. Т.к. символы она считать не умеет.
Но учтите, что в следующих ветках PHP это намерены исправить.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.