检查php中的字符串是否大于2兆字节

时间:2014-07-20 19:52:17

标签: php string

如何在 php 中查看字符串是否大于2 MB?我们需要在将它们插入MongoDB之前截断大的字符串,因为MongoDB文档限制是16MB。

更新

字符串确实可以包含非ascii字符,即utf。

2 个答案:

答案 0 :(得分:2)

您可以使用:

<?php 
  if (mb_strlen($string, '8bit') >  1024 * 1024 * 2) {
    echo "larger that 2 MB";
  }

?>

答案 1 :(得分:0)

你不能。

字符串是一系列字符。每个字符的大小取决于它是什么字符以及保存到文件后如何编码。

因此,除了PHP解释器的内部内存分配外,字符串本身没有大小。

如果性能不是问题,您可以将字符串写入具有您选择的字符编码的文件,然后检查写入文件的大小。