По идеи, файл будет блокирова первым пользователем на запись, а что будет с вторым пользователем? скрипт несработает?
и если да, то как этого избежать?
Спустя 2 минуты, 43 секунды (25.02.2011 - 11:02) linker написал(а):
Засыпать, пока файл не разблокируется.
Спустя 7 минут, 56 секунд (25.02.2011 - 11:10) Archusha написал(а):
тоесть банально на цикл проверки занят, не занят, со сном в N секунд.
Я правильно логику понял?
А сущесвуют другие варианты?
Я правильно логику понял?
А сущесвуют другие варианты?
Спустя 7 часов, 24 минуты, 12 секунд (25.02.2011 - 18:34) Chel_Hacker777 написал(а):
Archusha
Необходимо блокировать файл. Вот так например можно произвести нужные манипуляции с файлом:
Необходимо блокировать файл. Вот так например можно произвести нужные манипуляции с файлом:
<?php
$fp = fopen ( "path_to_file" , "a" ); //открытие
flock ( $fp , LOCK_EX ); //БЛОКИРОВКА ФАЙЛА
fputs ( $fp , "$data \r\n " ); //работа с файлом
fflush ( $fp ); //ОЧИЩЕНИЕ ФАЙЛОВОГО БУФЕРА И ЗАПИСЬ В ФАЙЛ
flock ( $fp , LOCK_UN ); //СНЯТИЕ БЛОКИРОВКИ
fclose ( $fp ); //закрытие
?>
Спустя 8 минут, 32 секунды (25.02.2011 - 18:42) T1grOK написал(а):
Цитата (Archusha @ 25.02.2011 - 08:10) |
тоесть банально на цикл проверки занят, не занят, со сном в N секунд. Я правильно логику понял? |
Да.
Спустя 19 часов, 45 секунд (26.02.2011 - 13:43) Dron19 написал(а):
только тут уже у меня вопрос возник, а как посчитать время записи в файл, что бы слипить скрипт на N сек?
Спустя 2 минуты, 43 секунды (26.02.2011 - 13:46) Dron19 написал(а):
вообще по идее, если файл кто-то использует, то у другого пользователя будет тормоз, до тех пор пока предыдущий пользователь не откроет его вновь, так что тут ничего не нужно слипить