假文件句柄创建

Lee*_*Lee 3 php file-io file

这可能是不可能的,但我想我会四处询问,看看我是否错过了什么.我正在寻找的是一种使用需要文件指针处理的函数而不需要编写实际文件的方法.

我知道我可以使用临时文件,执行操作然后将文件读回输出缓冲区并删除文件.但是,这意味着从写入磁盘然后从磁盘读取的延迟.如果我可以做类似的事情,那么在我的情况下速度和资源会好得多

$tmp = createFakeFile();
fputscsv($tmp, array(/*** an array of csv fields ***/));
echo $tmp;
Run Code Online (Sandbox Code Playgroud)

我怀疑这是否存在,但如果你曾经听说过做这样的事情,我很乐意听到它

谢谢

Gre*_*gor 5

你可以使用php:// memory和php:// temp包装文件.

引用:

php:// memory和php:// temp是读写流,允许临时数据存储在类似文件的包装器中.两者之间的唯一区别是php://内存将始终将其数据存储在内存中,而一旦存储的数据量达到预定义的限制(默认值为2 MB),php:// temp将使用临时文件.此临时文件的位置以与sys_get_temp_dir()函数相同的方式确定.

可以通过附加/ maxmemory:NN来控制php:// temp的内存限制,其中NN是在使用临时文件之前要保留在内存中的最大数据量(以字节为单位).

http://php.net/manual/en/wrappers.php.php