11. ETC - 12 Января, 2006 - 12:03:35 - перейти к сообщению
Там же есть примеры кода...
12. Alone - 12 Января, 2006 - 12:10:18 - перейти к сообщению
Ну вот пример:
А как его применить к этому счётчику?
CODE:
<?php
$fp = fopen("/tmp/lock.txt", "w+");
if (flock($fp, LOCK_EX)) { // выполнить эксплюзивное запирание
fwrite($fp, "Что-нибудь пишем\n");
flock($fp, LOCK_UN); // отпираем файл
} else {
echo "Не могу запереть файл !";
}
fclose($fp);
?>
<?php
$fp = fopen("/tmp/lock.txt", "w+");
if (flock($fp, LOCK_EX)) { // выполнить эксплюзивное запирание
fwrite($fp, "Что-нибудь пишем\n");
flock($fp, LOCK_UN); // отпираем файл
} else {
echo "Не могу запереть файл !";
}
fclose($fp);
?>
А как его применить к этому счётчику?
13. Леголегс - 12 Января, 2006 - 12:39:06 - перейти к сообщению
Alone
Ну блиииин... Подумай головой!
Ну блиииин... Подумай головой!
14. Alone - 12 Января, 2006 - 12:49:30 - перейти к сообщению
Леголегс
Да блин думал уже...
А путём проб и ошибок пробовать - это долго. Желательно наверняка...
Тем более я вообще без понятия что это такое. Потому что 2000 набирается счётчиком без проблем, а вот после 3000 уже обнуляется. Мож дело то и не в этом... Поэтому надо точно знать. А то с двумя неизвестными как-то сложнова-то уравнения решать
Да блин думал уже...
А путём проб и ошибок пробовать - это долго. Желательно наверняка...
Тем более я вообще без понятия что это такое. Потому что 2000 набирается счётчиком без проблем, а вот после 3000 уже обнуляется. Мож дело то и не в этом... Поэтому надо точно знать. А то с двумя неизвестными как-то сложнова-то уравнения решать
15. Леголегс - 12 Января, 2006 - 14:10:41 - перейти к сообщению
Alone
Примерно 2000 посещений набирается к тому моменту, когда посетителей на сайте дофига. Постоянно делаются замиси в файл и в конце концов получается так, что в count.txt питаются внести запись сразу два скрипта. Происходит глюк и от файла остаётся пшик. Чтобы этого избежать надо перед тем как записать в файл (функцией write) его заблокировать. А потом разблокировать. У тебя есть два куска кода на пхп. Первый выполняет поставленную задачу, а во втором используется блокировка файлов. Тебе из двух скриптов надо собрать один. Неужели это так сложно?
PS путь проб и ошибок рулез форева
Примерно 2000 посещений набирается к тому моменту, когда посетителей на сайте дофига. Постоянно делаются замиси в файл и в конце концов получается так, что в count.txt питаются внести запись сразу два скрипта. Происходит глюк и от файла остаётся пшик. Чтобы этого избежать надо перед тем как записать в файл (функцией write) его заблокировать. А потом разблокировать. У тебя есть два куска кода на пхп. Первый выполняет поставленную задачу, а во втором используется блокировка файлов. Тебе из двух скриптов надо собрать один. Неужели это так сложно?
PS путь проб и ошибок рулез форева
16. Alone - 12 Января, 2006 - 14:55:30 - перейти к сообщению
Леголегс
Неее не получается, эти блин открывания закрывания, и ещё их чёто много получается...
А на этом форуме вроде ничего не обнуляется... Здесь не в курсе что за код счётчика (тока попроще)?
Неее не получается, эти блин открывания закрывания, и ещё их чёто много получается...
А на этом форуме вроде ничего не обнуляется... Здесь не в курсе что за код счётчика (тока попроще)?
17. Леголегс - 12 Января, 2006 - 15:38:48 - перейти к сообщению
Alone
И здесь обнуляется. Сразу целые форумы. Просто редко и их быстро восстанавливают. А открываний-закрываний надо всего два.
И здесь обнуляется. Сразу целые форумы. Просто редко и их быстро восстанавливают. А открываний-закрываний надо всего два.
18. Alone - 12 Января, 2006 - 16:36:25 - перейти к сообщению
Леголегс
Про форумы я знаю.
Я спрашиваю про конкретно счётчик на этом форуме. И конкретно про "хиты за сегодня"...
Я не замечал чтобы он обнулялся. Вот и спрашиваю об ЭТОМ.
Про форумы я знаю.
Я спрашиваю про конкретно счётчик на этом форуме. И конкретно про "хиты за сегодня"...
Я не замечал чтобы он обнулялся. Вот и спрашиваю об ЭТОМ.
19. Alone - 13 Января, 2006 - 01:28:10 - перейти к сообщению
Леголегс
Ладно... проверьте плиз правильно я тут намудрил или нет:
Ладно... проверьте плиз правильно я тут намудрил или нет:
CODE:
<?
$file="count.txt";
$cy = date("Y");//текущий год
$cm = date("n");//месяц
$cd = date("j");//день
$newfile = fopen($file,"r");
list($num,$fy,$fm,$fd) = fscanf($newfile, "%d:%d/%d/%d");
fclose($newfile);
if ($fy!=$cy || $fm!=$cm || $fd!=$cd)
$num = 1;
else
$num++;
$newfile = fopen($file,"w");
if (flock($file, COUNT_EX)) {
fwrite($newfile, "$num:$cy/$cm/$cd");
flock($file, COUNT_UN);
}
fclose($newfile);
echo "document.write('$num');";
?>
$file="count.txt";
$cy = date("Y");//текущий год
$cm = date("n");//месяц
$cd = date("j");//день
$newfile = fopen($file,"r");
list($num,$fy,$fm,$fd) = fscanf($newfile, "%d:%d/%d/%d");
fclose($newfile);
if ($fy!=$cy || $fm!=$cm || $fd!=$cd)
$num = 1;
else
$num++;
$newfile = fopen($file,"w");
if (flock($file, COUNT_EX)) {
fwrite($newfile, "$num:$cy/$cm/$cd");
flock($file, COUNT_UN);
}
fclose($newfile);
echo "document.write('$num');";
?>
20. Alone - 13 Января, 2006 - 07:51:25 - перейти к сообщению
Люди проверьте плиз домашнее задание вверху а то счётчик уже затрепал обнуляется каждый час теперь, и выкинуть жалко...