我编写了一个 PHP 脚本来索引我网站的内容并将其存储在多维数组中。然后我将内存中的内容(该数组)导出到 .php 文件中,以便稍后包含和访问。
在将要导出的变量保存到文件之前,如何检查内存大小或与该变量关联的内存大小。
例如,如果小于 1gb,则导出。否则,什么也不做,删除与变量 $x 相关的内存中的内容。
我怎么能这样做?
尝试:
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';
您将如何将数组保存到文件中?如果要序列化数组,则可以先执行此操作(如果您有足够的内存),然后在将其保存到文件之前检查序列化变量的字符串长度。