来自String的filesize

pol*_*ixd 12 php string blob filesize

我如何从PHP中的字符串中获取"filesize"?

我将字符串作为blob放在mysql数据库中,我需要存储blob的大小.我的解决方案是创建一个临时文件并将字符串放入临时文件中.现在我可以从"字符串"中获取文件大小.但那解决方案并不好......

问候

irc*_*ell 46

这取决于.如果启用了mbstring函数重载,则唯一有效的调用将是mb_strlen($string, '8bit');.如果它没有启用,strlen($string)也可以正常工作.

所以,您可以像这样处理两种情况:

if (function_exists('mb_strlen')) {
    $size = mb_strlen($string, '8bit');
} else {
    $size = strlen($string);
}
Run Code Online (Sandbox Code Playgroud)

  • @ TheodoreR.Smith:因为,正如我在答案中指出的那样,它并不总是有效.如果[`mb_string.overload`](http://www.php.net/manual/en/mbstring.overload.php)打开,`strlen()`将返回UTF-8字符的数量,而不是数字的字节数.所以不,这是必需的...... (3认同)

Kwe*_*ble 7

SELECT length(field)FROM table

来自MySQL文档:

长度(STR)

返回字符串str的长度,以字节为单位.多字节字符计为多个字节.这意味着对于包含五个双字节字符的字符串,LENGTH()返回10,而CHAR_LENGTH()返回5.