Примеров много тут для подобного, в пользовательских комментариях, от функций, до классов:
http://ru.php.net/manual/ru/function.flock.php
Цитата:
Стефания:
Мне нужно их как-то выстроить в очередь чтоли.....или просто написать, что пока один не закончит, другой становился бы в очередь. Чем не подходит while? Мне кажется, что это самое то
|
А кто сказал что он не подходит? Подходит впринципе, только не совсем как приведено было в примере выше. Просто если на открытие делать цикл, то он скорее всего будет бесполезным - файл будет сразу из разных мест просто открываться и данные будут портиться.
В МАНе рекомендуют использовать для этого и пущей надежности файл-флаг:
Цитата:
MAN:
Замечание: Из-за того, что функции flock() необходим указатель на файл, вам может понадобиться воспользоваться специальным запирающим файлом для того, чтобы ограничить доступ к файлу, который вы намерены очищать путём открытыя его в режиме записи (используя "w" или "w+" в качестве аргумента функции fopen()).
....
В некоторых операционных системах flock() реализован на уровне процессов. При использовании многопоточных серверных API, таких как ISAPI, вы не можете полагаться на flock() для защиты ваших файлов от дугих PHP-скриптов, которые работают в параллельном потоке на том же сервере!
|