PHP 的 tmpfile() 通常是在内存中还是在磁盘上创建文件?

use*_*438 2 php file

我很好奇的行为tmpfile()以及是否像这样调用它

$temp = tmpfile();
Run Code Online (Sandbox Code Playgroud)

将在磁盘或内存中创建一个文件。也许这取决于底层系统?在这种情况下,是否存在大多数系统使用一种或另一种的“更频繁”的情况?

mka*_*erg 5

该文档暗示它将在磁盘上创建,并特别说明要在系统的tmpfile(3).

tmpfile(3)(在 Linux 上)说 Glibc 将尝试P_tmpdir在 stdio.h 中定义的路径前缀,如果失败则目录/tmp.

如果您正在寻找内存中的临时文件,也许您需要php://temp