在导出到.php文件之前检查内存大小


check size of memory before exporting it to .php file

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

在将变量保存到文件之前,我如何检查内存大小或与变量相关的内存大小。

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

我怎么能这么做?

try with:

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";

试试这个

$filename = 'somefile.txt';
$filesize = filesize($filename);  //'in bytes'
if($filesize < 1GB)  // means if($filesize < 1024)
   //Do export
else
   echo 'Exceeded 1GB';

如何将数组保存到文件中?如果您要序列化数组,那么您可以先这样做(如果您有足够的ram),然后在将其保存到文件之前检查序列化变量的字符串长度。