Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Счетчик посещений за день [4]
ТвойWeb » WebMaster класс » PHP/Perl » Счетчик посещений за день

Страниц (5): « 1 2 3 [4] 5 »
 

31. Alone - 16 Января, 2006 - 02:58:20 - перейти к сообщению
Всё равно счётчик самопроизвольно обнуляется.

Вариант такой:

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($newfile, COUNT_EX)) {
fwrite($newfile, "$num:$cy/$cm/$cd");
@flock($newfile, COUNT_UN);
}


fclose($newfile);
echo "document.write('$num');";
?>
32. ETC - 16 Января, 2006 - 03:37:45 - перейти к сообщению
«@» это не метод. Это нежелание ковырятся и искать баги.
33. Alone - 16 Января, 2006 - 09:49:39 - перейти к сообщению
ETC
А где искать то эти баги?
34. ETC - 16 Января, 2006 - 10:42:59 - перейти к сообщению
Мне непонятно, почему, открыв файл в режиме "w" вы его лочите перед записью, а не перед открытием файла?
35. Alone - 16 Января, 2006 - 11:19:25 - перейти к сообщению
ETC
Всмысле так нужно:

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++;

if (@flock($newfile, COUNT_EX)) {
$newfile = fopen($file,"w");
@flock($newfile, COUNT_UN);
}

fwrite($newfile, "$num:$cy/$cm/$cd");
fclose($newfile);
echo "document.write('$num');";
?>


???
36. Voyager - 16 Января, 2006 - 14:25:37 - перейти к сообщению
PHP:

<?
$file="count.txt";
$cy = date("Y");//текущий год
$cm = date("n");//месяц
$cd = date("j");//день
if ( $newfile = fopen($file,'r') )
{
flock($newfile,LOCK_SH);
list($num,$fy,$fm,$fd) = fscanf($newfile, "%d:%d/%d/%d");
@fclose($newfile);

}
if ($fy!=$cy || $fm!=$cm || $fd!=$cd)
$num = 1;
else
$num++;

if ( $newfile = fopen($file,"w"))
{
flock($newfile,LOCK_EX);
fwrite($newfile, "$num:$cy/$cm/$cd");
fclose($newfile);
}

echo "document.write('$num');";
?>
37. ETC - 16 Января, 2006 - 14:29:56 - перейти к сообщению
Это те же яйца, только в профиль.
По-хорошему, надо открывать файл на чтение и запись одновременно и перед записью его лочить. А не открывать сначала для чтения, а потом для записи...
38. Alone - 16 Января, 2006 - 15:00:16 - перейти к сообщению
Voyager
А так вовсе не считает Улыбка

Ладно фиг с ним с этим счётчиком. Какой-то он долбанутый... Улыбка
39. Voyager - 16 Января, 2006 - 20:49:09 - перейти к сообщению
Я немного иправил предыдущий свой пост, проверь теперь код.
А так я бы вообще писал счетчик по другому.
40. Alone - 17 Января, 2006 - 02:44:51 - перейти к сообщению
Voyager
Так считает.
Ладно проверяю его в экстримальных условиях на предмет обнуление.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0302]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33