adawolfa / ffi-memory-stream

FFI内存流包装器。

1.2 2023-08-12 01:04 UTC

This package is auto-updated.

Last update: 2024-09-12 03:18:26 UTC


README

此库提供了一个用于直接使用标准流函数访问内存的PHP流包装器。它旨在被FFI包装器用作提供安全、方便且已知的数据访问方式的方法。

安装

composer install adawolfa/ffi-memory-stream

用法

有一个memory_open()函数,它通过FFI指针创建一个数据流。

$ptr    = $ffi->get_buffer($size);
$stream = Adawolfa\MemoryStream\memory_open($ptr, 'r', $size);
$data   = fread($stream, 10);

您可以创建只读(r)、只写(w)或不受限制(rw)的流。包装器通过强制使用$size参数确保用户在流边界内操作,该参数是强制性的。

当指针变得无效时,作为调用方的您应显式地调用fclose()关闭流。从此类流中读取或写入将发出警告,但与通过无效指针访问数据不同,不会导致进程崩溃,这使得调用方更容易调试。

支持32位和64位平台,默认为小端。