当我在php中提交表单时。 我想找到通过javascript以字节为单位发布的每个文本框的数据大小。
答案 0 :(得分:0)
无论用户提交的方式或javascript函数如何,您将获得的数据都带有“name”标签。 在PHP代码中,您只需获取发布的数据并检查其大小。
答案 1 :(得分:0)
用户 gliff 说:
“一切都取决于角色 编码。一个ASCII字符需要 一个字节来存储。但是,如果你是 处理多字节字符串和/或 Unicode,一个字符没有 必须对应一个字节。
我/希望有一个内置的 功能我忽略了这一点 自动将所有内容融入其中 帐户并神奇地吐出一个 数。的“强>
我认为最好粘贴到这里并且信用包装页面不再存在。
获得类型后,内置函数将类似于:
mb_strlen($utf8_string, 'latin1');
答案 2 :(得分:0)
有两种选择。对于字节数,请使用strlen:
$boxlen = strlen($_POST['field']);
对于字符长度,如果安装了mb_string:
$boxlen = mb_strlen($_POST['field']);
请注意,如果您启用了MBString function overloading,则strlen()
将不准确。检查:
$mask = ini_get('mbstring.func_overload');
if (($mask & 2) === 2) {
//strlen is overloaded
}
如果它过载,并且你想要一个字节数,你将不得不做一些有点混乱的事情。在我的脑海中,我能想到的最“准确”的方式就是:
function getByteCount($str) {
$mask = ini_get('mbstring.func_overload');
if (($mask & 2) === 2) {
//strlen is overloaded
return mb_strlen($str, 'latin1');
} else {
return strlen($str);
}
}
注意:只有在mb_string覆盖mb_strlen()
时才需要strlen()
方法。否则,它将在字节长度上正常工作。
编辑:在位比较周围添加()(由于操作符顺序需要)。