adawolfa / ffi-memory-stream
FFI内存流包装器。
1.2
2023-08-12 01:04 UTC
Requires
- php: >=8.1
- ext-ffi: *
Requires (Dev)
- phpunit/phpunit: ^9.5
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位平台,默认为小端。