php://memory伪协议,包装器将数据以文件形式来操作,而底层通过内存保存的形式。
简单来说就是让你能通过操作文件的形式来读写内存,方便不?
---如果你的码农生涯也在迷茫,不如忙起来,因为忙起来什么都忘记了
echo sprintf("使用前内存%.2fMB" . PHP_EOL, (memory_get_usage() / 1024 / 1024));
// 读写形式申请内存协议
$mem = fopen('php://memory', 'r+');
$i = 100;
while ($i--) {
fwrite($mem, str_repeat('李燕茹', 1024));
}
// 使用后占用内存
echo sprintf("使用后内存%.2fMB" . PHP_EOL, (memory_get_usage() / 1024 / 1024));
// 关闭内存协议资源
fclose($mem);
echo sprintf("释放后内存%.2fMB" . PHP_EOL, (memory_get_usage() / 1024 / 1024));
执行结果
- 使用前内存0.38MB
- 使用后内存1.26MB
- 释放后内存0.38MB