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

php://memory伪协议的使用

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

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 scoket,php webscoket,php webscoket 服务器

php scoket,php webscoket,php webscoket 服务器

项目需要使用websocket推送最新订单,客户服务器非linux不支持swoole,因此使用原生,直接上代码(1).PHP服务端<?php ini_set('error_reporting', E_ALL ^ E_NOTICE); ini_set...

PHP二维数组排序,PHP多维数组排序, array_multisort()

PHP二维数组排序,PHP多维数组排序, array_multisort()

使用php函数array_multisort()即可实现和SQL一样的order by排序. 例如我们需要对会员表按照主键降序排列,年龄升序排列://会员表数据 $list = []; $list[] = ['mid' =>&n...

php限制方法返回值类型

php限制方法返回值类型

php7新增的特性(1).强制限制只能返回一种类型<?php class task { } //must return an integer function add(): int {    &nb...

posix_ttyname函数详解

posix_ttyname函数详解

posix_ttyname - 获取当前终端设备名称。<?php     var_dump( posix_ttyname(STDOUT) );我们启动一个终端,执行上面的代码输出:/dev/tty1我们再启动一个终端,执行上面的代码输...

php下载远程文件(支持断点续传,支持超大文件)

php下载远程文件(支持断点续传,支持超大文件)

断点下载的原理:http请求头添加Range参数告诉文件服务器端需要的字节范围例如1个文本文件的字节为1000,第一次请求Range: bytes=0-500第二次请求Range: bytes=501-1000通过每次的请求将返回的流追加写入到文件。注意的项目:断点下载服务器端的每次只返回字节传输的...

php mcrypt扩展被废弃的解决方案

php mcrypt扩展被废弃的解决方案

使用openssl扩展对应替换mcrypt的函数,(比较麻烦,但是openssl是未来趋势)在新版php中编译mcrypt扩展使用一个纯php代码实现的mcrypt扩展库,git地址为https://github.com/phpseclib/mcrypt_compat,每个mcrypt的方法都已经实...