Я разработал интеграцию API, он содержит несколько загрузок с перетаскиванием изображений. Проблема в том, что если несколько пользователей, к которым он обращается к ней, он рухнет, поэтому я планировал создавать случайные папки для каждого пользователя и уничтожать эту папку после того, как все будет сделано. Существуют ли какие-либо методы / методы, доступные в PHP для генерации случайных папок?
Для таких вещей я нашел, что функция php uniqid полезна. В основном, что-то вроде этого:
$dirname = uniqid(); mkdir($dirname);
А затем просто переместите загруженный файл в этот каталог.
Изменить: забыл упомянуть, имя каталога не является случайным, но гарантировано будет уникальным, что, кажется, то, что вам нужно.
Я думаю, что лучше всего иметь функцию, которая пытается создать случайные папки (и проверять, успешна ли она) до тех пор, пока она не удастся.
У этого нет условий гонки, и он не зависит от веры в uniqid (), предоставляя имя, которое еще не было использовано в качестве имени в tempdir.
function tempdir() { $name = uniqid(); $dir = sys_get_temp_dir() . '/' . $name; if(!file_exists($dir)) { if(mkdir($dir) === true) { return $dir; } } return tempdir(); }
Да, возможно использование mkdir()
Пример
<?php mkdir("/path/to/my/dir", 0700); ?>
Для большей проверки