Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запирание файлов.
Форумы портала PHP.SU » PHP » Программирование на PHP » Запирание файлов.

Страниц (1): [1]
 

1. integer - 23 Июня, 2007 - 03:11:58 - перейти к сообщению
При исключительной блокировке файла flock ($fp,LOCK_EX); блокируется и запись и чтение в него ? ы ?
2. valenok - 23 Июня, 2007 - 21:48:42 - перейти к сообщению
flock($fp, LOCK_EX + LOCK_SH)
3. integer - 24 Июня, 2007 - 11:46:59 - перейти к сообщению
Цитата:
flock($fp, LOCK_EX + LOCK_SH)


valenok, вы в своем уме ?
Если учесть что:
LOCK_SH = 1
LOCK_EX = 2
LOCK_UN = 3

то что получится если LOCK_EX + LOCK_SH ?
не знаешь - промолчи, будешь казаться умнее.

з.ы. кстати проверил уже опытным путем. LOCK_EX запирает файл и для записи и для чтения.
4. valenok - 24 Июня, 2007 - 14:39:53 - перейти к сообщению
А вот и получается то что надо, и передаются они как два отдельных флага, а не сумма.

А LOCK_NB вообще 4
и чтоже получается при
flock($handle,LOCK_EX + LOCK_NB);
по вашей версии?

(Добавление)
В принципе конструкции работают не так как ожидалась на всех платформах
<?php
flock($fp, LOCK_EX and LOCK_SH);
flock($fp, LOCK_EX or LOCK_SH);
flock($fp, LOCK_EX + LOCK_SH);
?>

хотя это описано в документация, прямо как и блокировка:
if you have locked file for writing (LOCK_EX) both read and write will not be accessible from other scripts.

 

Powered by ExBB FM 1.0 RC1