我编写了一个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),然后在将其保存到文件之前检查序列化变量的字符串长度。