我正在尝试创建一个临时目录,但我得到以下错误
Warning: mkdir(): File exists
然而,当我检查时,目录实际上不存在。$tmp
的典型值为/tmp/testKanfEt
$tmp = tempnam(sys_get_temp_dir() , 'test');
echo $tmp;
mkdir($tmp);
我在这里错过了什么?
函数 但是在这种情况下,我认为 为什么?因为在tmp目录下创建文件,您不应该关心文件名,因为一旦锁在文件上被释放(例如使用 相反,使用tmpfile(),因为它返回一个文件句柄,直接在tmp目录中创建文件。 如果您确实需要文件名,您仍然可以使用tempnam()
在给定路径中创建文件,如果创建成功,返回完整路径。您正在尝试创建一个与文件具有相同路径的目录。tempnam()
被错误地使用了。当试图在os .tmp文件夹以外的任何目录中创建tmp文件时,应该使用该命令。fclose()
或脚本执行结束),您不能保证该文件仍然在那里。tempnam()
或从句柄中检索它,如下所示:echo stream_get_meta_data(($fh=tempfile()))["uri"];