У меня есть следующий сценарий. Обычно это приложение для распространения работы. Вот история.
Сейчас в сети активно участвуют 10 пользователей.
Например, в одной папке /home/Queue/
Есть 5 текстовых файлов:
/home/Queue/dg37.txt
/home/Queue/aa.txt
/home/Queue/dsvdsl.txt
/home/Queue/gf4.txt
/home/Queue/ddef.txt
Каждому из этих 10 одновременных пользователей нужно было переместить один файл в соответствующую папку. Этот файл содержит инструкцию по работе.
Представьте, что эти 10 пользователей одновременно перемещают один текстовый файл в соответствующую домашнюю папку.
Как мне кодировать PHP-код так, чтобы он выполнялся автоматически, то есть только 5 пользователей смогут получить текстовый файл в свою домашнюю папку, а 5 других пользователей получат в настоящее время нет работы для вас сообщение.
Спасибо.
Как уже упоминалось, я бы посоветовал использовать базу данных и флаги, но другим способом было бы удалить файл из очереди прямо в другую папку. С использованием rename()
Функция, вы можете переместить файл прямо в другой каталог (аналогично вырезанию и вставке в Windows). Он также возвращает логическое значение, которое вы можете использовать в своих интересах, если два человека нажмут на элемент примерно в одно и то же время.
rename ("/home/Queue/dg37.txt", "/home/users/bob/queue/dg37.txt");
Других решений пока нет …