当前位置:首页 > PHP > 正文内容

php://memory伪协议的使用

高老师5年前 (2021-05-08)PHP1067

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

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/205.html

分享给朋友:

“php://memory伪协议的使用” 的相关文章

 php文件锁解决高并发

php文件锁解决高并发

前面的文章对于高并发下单商品导致商品库存为负值的问题请先阅读再阅读本篇文章一定对您有帮助,建议亲手测试较好。加上文件锁后的下单处理代码:【一】.阻塞模式:(如果其他进程已经加锁文件,当前进程会一直等其他进程解锁文件后继续执行)<?php //连接数据库 $con=mysqli_connect(...

 php命令行中文乱码,php cli中文乱码

php命令行中文乱码,php cli中文乱码

<?php //如果支持exec函数,可以使用的方式 exec('chcp 65001'); //如果exec函数因安全问题禁用,可以使用的方式 pclose(popen('chcp 65001', 'r'));...

PHP最快方式模拟curl,PHP最快爬虫模拟方法

PHP最快方式模拟curl,PHP最快爬虫模拟方法

有时候我们需要爬一个接口,但是这个接口需要很多参数,包括header和cookie要去编写,使用php curl模拟实在太慢。我们可以通过浏览器的network来复制请求为curl命令。例如我需要模拟请求接口地址:https://www.xkmz.cc/Ajax/Debug/delly,我们只需要在...

php redis事务

php redis事务

概念请参考w3school文章: redis watch ,redis exec (看完基本秒懂)(1)基本事务://连接本地的 Redis 服务 $redis = new Redis(); $redis->con...

php生成器的send方法详解,php yield send

php生成器的send方法详解,php yield send

【一】.基本用法首先看看官方对send方法的解释:Sets the return value of the yield expression and resumes the generato...

php生成器yield from详解

php生成器yield from详解

PHP7中,通过生成器委托(yield from),可以将其他生成器、可迭代的对象、数组委托给外层生成器。外层的生成器会先顺序 yield 委托出来的值,然后继续 yield 本身中定义的值。同时yield from也能获取到生成器的返回值...