состояние гонки — Как автоматически перемещать файлы в переполнении стека

У меня есть следующий сценарий. Обычно это приложение для распространения работы. Вот история.

Сейчас в сети активно участвуют 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 других пользователей получат в настоящее время нет работы для вас сообщение.

Спасибо.

1

Решение

Как уже упоминалось, я бы посоветовал использовать базу данных и флаги, но другим способом было бы удалить файл из очереди прямо в другую папку. С использованием rename() Функция, вы можете переместить файл прямо в другой каталог (аналогично вырезанию и вставке в Windows). Он также возвращает логическое значение, которое вы можете использовать в своих интересах, если два человека нажмут на элемент примерно в одно и то же время.

rename ("/home/Queue/dg37.txt", "/home/users/bob/queue/dg37.txt");

http://www.php.net/manual/en/function.rename.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]