请看下面的代码
$directory_name = "directory_no";
for($i=2; file_exists($directory_name); $i++){
$directory_name = "directory_no".$i;
}
mkdir(directory_name, 0755, true);
我有一个网页,当用户单击按钮时,会在同一父文件夹(在服务器上)中创建唯一目录,
如上面的代码所示,PHP检查具有相同名称的目录是否已经存在。如果是,它将继续增加目录名称末尾的数字,因此如果已经存在名称为“ directory_no”的目录。它将检查名称为“ directory_no2”的目录,如果还存在“ directory_no2”,它将检查“ directory_no3”,依此类推……直到找到一个尚不存在的目录名。
现在请假设,前两个用户在同一时间单击该按钮,并且PHP在相同的时间检查名称为“ directory_no”的目录是否存在(该目录对于两个用户均不存在)并且PHP尝试在完全相同的时间创建目录,然后会发生什么?我认为那会引发错误。
我的问题是
使用上面的代码,两个用户的目录仍然有可能相互冲突吗?
谢谢!