PHP 创建随机 tmp 文件并获取其完整路径
Posted
技术标签:
【中文标题】PHP 创建随机 tmp 文件并获取其完整路径【英文标题】:PHP create random tmp file and get its full path 【发布时间】:2013-05-05 10:10:13 【问题描述】:之后:
$temp = tmpfile();
fwrite($temp, "writing to tempfile");
我想获得tmpfile
创建的$temp
文件的完整路径。
我需要做什么才能获得这些信息?
【问题讨论】:
【参考方案1】:tmpfile
返回一个可流式传输的文件指针。
获取对应路径,ask the stream for its meta data:
$file = tmpfile();
$path = stream_get_meta_data($file)['uri']; // eg: /tmp/phpFx0513a
tmpfile
方法的好处?当$file
超出范围时,PHP 会自动删除$path
。使用tempnam
,您必须手动删除创建的文件。
【讨论】:
【参考方案2】:$path = tempnam(sys_get_temp_dir(), 'prefix');
见this example。
【讨论】:
在原始代码中,当脚本退出/崩溃时文件被删除。这个留下垃圾。请参阅@bishop 的答案以获得正确的解决方案。 Windows 平台不考虑目录的第一个参数。它总是使用 C:\Windows\Temp\.以上是关于PHP 创建随机 tmp 文件并获取其完整路径的主要内容,如果未能解决你的问题,请参考以下文章
PHP 文件名(或其完整路径中的目录)可以包含 UTF-8 字符吗?