php - 如何在目录中创建具有唯一名称的目录
问题描述
我通过创建了一个文件
$my_dir = '/var/example'
$file_path = tempnam( $my_dir, '' );
然后我尝试将临时文件($file_path
)转换为目录。
没有功能tempdir
。
如何在内部创建具有唯一文件名的目录$my_dir
?甚至,如果$my_dir
包含很多子目录。
目录名称必须是唯一的,不一定是随机的。
建议的问题和答案 - 不是我的问题的答案。
如果存在按uniqid
函数生成名称的子目录,建议的答案可能会发生冲突。我需要保证 - 与里面的现有子目录没有冲突$mydir
。
我需要以类似的方式解决问题tempname
。类似地,但对于目录。
根据@RiggsFolly,我找到了这个解决方案
$file_path = tempnam( $books_dir, '' );
unlink($file_path);
mkdir($file_path);
但理论上可能存在冲突,然后 mkdir 可能会返回false
,如果我以并行模式多次启动此脚本。
很好的解决方案,但并不理想。
解决方案
推荐阅读
- swift - 在 CallDirectoryHandler 中展开可选值时总是意外发现 nil
- javascript - 如何在.net core web api项目中加载swagger UI后加载javascript文件
- css - 使用 react-transition-group 作为子组件接收新的道具
- javascript - 根据顺序重新渲染映射数组
- c# - 如何使用鼠标和锁定角度每 5 度画线
- python - 查找矩阵中具有相同值的(垂直或水平)相邻元素的数量
- avro - 如何在 Java 中将字节数组序列化为 AVRO?
- sql - 如何使用局部变量或用户定义函数更新表?
- c# - 事件不是第一次触发
- git - 从 BitBucket 克隆存储库时文件被修改