Shhh
Новичок
Использование flock()
Прочитал вот здесь http://php.spb.ru/php/flock.html про использование flock
<?
// верхняя часть страницы
// код счетчика:
$f2=fopen("counter.txt","r"); // чтобы файл заблокировать, его надо открыть
// открыли файл на чтение
flock($f2,LOCK_EX); // заблокировали файл
$counter=file("counter.txt"); // прочитали файл в массив $counter
$f=fopen("counter.txt","w+"); // открыли файл на запись
fputs($f,$counter[0]+1); // записали "число + 1"
fclose($f); // закрыли файл
echo $counter[0]+1; // вывели число на экран
flock($f2,LOCK_UN); // сняли блокировку (при закрытии снимается автоматически)
fclose($f2); // и закрыли файл (при выходе закрывается автоматически)
// нижняя часть страницы
?>
Вот только на локалке в ХР оно не работает (просто очищается файл) Это так и должно быть?
И возникает еще вопрос, если мы открыли файл на считывание $f2=fopen("counter.txt","r") то чего его нельзя и прочитать через fread, а используется file()? Эта функция быстрее работает?
Прочитал вот здесь http://php.spb.ru/php/flock.html про использование flock
<?
// верхняя часть страницы
// код счетчика:
$f2=fopen("counter.txt","r"); // чтобы файл заблокировать, его надо открыть
// открыли файл на чтение
flock($f2,LOCK_EX); // заблокировали файл
$counter=file("counter.txt"); // прочитали файл в массив $counter
$f=fopen("counter.txt","w+"); // открыли файл на запись
fputs($f,$counter[0]+1); // записали "число + 1"
fclose($f); // закрыли файл
echo $counter[0]+1; // вывели число на экран
flock($f2,LOCK_UN); // сняли блокировку (при закрытии снимается автоматически)
fclose($f2); // и закрыли файл (при выходе закрывается автоматически)
// нижняя часть страницы
?>
Вот только на локалке в ХР оно не работает (просто очищается файл) Это так и должно быть?
И возникает еще вопрос, если мы открыли файл на считывание $f2=fopen("counter.txt","r") то чего его нельзя и прочитать через fread, а используется file()? Эта функция быстрее работает?
