0

我编写了一个 PHP 脚本来索引我网站的内容并将其存储在多维数组中。然后我将内存中的内容(该数组)导出到 .php 文件中,以便稍后包含和访问。

在将要导出的变量保存到文件之前,如何检查内存大小或与该变量关联的内存大小。

例如,如果小于 1gb,则导出。否则,什么也不做,删除与变量 $x 相关的内存中的内容。

我怎么能这样做?

4

3 回答 3

1

尝试:

memory_get_usage()

在创建数组之前和之后调用此函数,并获取差异。

echo "At the start we're using (in bytes): ",
     memory_get_usage() , "\n<br>";

... array...

echo "After, we're using (in bytes): ",
     memory_get_usage(),"\n<br>"; 

或者

$before  = memory_get_usage();
... array ...
$after = memory_get_usage();
echo round(($after-$before)/1024/1024, 2)." MB\n";
于 2013-05-03T06:02:00.067 回答
1

试试这个

$filename = 'somefile.txt';
$filesize = filesize($filename);  //'in bytes'
if($filesize < 1GB)  // means if($filesize < 1024)
   //Do export
else
   echo 'Exceeded 1GB';
于 2013-05-03T05:48:12.420 回答
0

您将如何将数组保存到文件中?如果要序列化数组,则可以先执行此操作(如果您有足够的内存),然后在将其保存到文件之前检查序列化变量的字符串长度。

于 2013-05-03T06:04:30.990 回答