如何在PHP中创建临时目录而不会有比赛风险?

时间:2013-11-20 21:35:38

标签: php python

我想知道PHP是否有类似于Python的tempdir.mkdtemp()。如果仍然使用that code,PHP的System :: mktemp似乎不合适。我想我可以实现与Python本身提供的功能相同的功能,但我几乎不相信我是唯一一个寻求该功能并希望避免重新发明轮子的人。

代码应该与操作系统无关,因此使用https://stackoverflow.com/a/17280327/1078224建议的exec不是一种选择。

1 个答案:

答案 0 :(得分:0)

<?
if is_dir("myNewDir"){
    //rename the directory your trying to make and do it again
}else{
    mkdir("myNewDir); 
}
?>

http://us3.php.net/is_dir

我不确定这和制造车轮一样难。

编辑:

<?php
$dirName = substr(md5(mt_rand()), 0, 8);
while (@mkdir($dirName) === false){
    $dirName = substr(md5(mt_rand()), 0, 0);
}
echo "Created directory: " . $dirName ;
?>

这应该导致没有比赛。