我想创建一个临时文件,在脚本以特定文件名结尾删除。
我知道tmpfile()
执行“autodelete”功能,但它不允许您为文件命名。
有什么想法吗?
答案 0 :(得分:6)
如果要创建唯一的文件名,可以使用tempnam()。
这是一个例子:
<?php
$tmpfile = tempnam(sys_get_temp_dir(), "FOO");
$handle = fopen($tmpfile, "w");
fwrite($handle, "writing to tempfile");
fclose($handle);
unlink($tmpfile);
更新1
临时文件类管理器
<?php
class TempFile
{
public $path;
public function __construct()
{
$this->path = tempnam(sys_get_temp_dir(), 'Phrappe');
}
public function __destruct()
{
unlink($this->path);
}
}
function i_need_a_temp_file()
{
$temp_file = new TempFile;
// do something with $temp_file->path
// ...
// the file will be deleted when this function exits
}