Intereting Posts
Сообщение: неверный аргумент, предоставленный foreach в CodeIgniter RabbitMQ вызывает функцию обратного вызова для потребителя, когда у него есть какое-то сообщение? PHPexcel: удаление изображений Twitter, изменение защищенного статуса с помощью PHP Разбить сложную строку запятыми в PHP Преобразование XML-файла в атрибут XML HTML5 CANVAS: как сохранить и повторно открыть изображение с сервера PHP, как вызвать ошибку пользователя с trigger_error в деструкторе объекта, когда скрипт отключается? Ожидаемый код ответа 220, но получил код «», с сообщением «» в Laravel Значение действия в контроллерах Symfony Предупреждение: preg_match () : Неизвестный модификатор '(' Простой сервер python похож на SimpleHTTPServer, но с поддержкой PHP? Как исправить эту ошибку «mysql_fetch_assoc () ожидает, что параметр 1 будет ресурсом, boolean задан в«? Правильный способ создания соленых хеш-паролей Сессионные файлы cookie http и secure flag – как вы их устанавливаете?

Создание случайных папок с использованием php

Я разработал интеграцию 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); ?> 

Для большей проверки

http://php.net/manual/en/function.mkdir.php