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

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

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

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Счетчик посещений за день [4]
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Описание: PHP
Alone
Отправлено: 16 Января, 2006 - 02:58:20
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Всё равно счётчик самопроизвольно обнуляется.

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

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');";
?>
 
 Top
ETC Администратор
Отправлено: 16 Января, 2006 - 03:37:45
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




«@» это не метод. Это нежелание ковырятся и искать баги.
 
 Top
Alone
Отправлено: 16 Января, 2006 - 09:49:39
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




ETC
А где искать то эти баги?
 
 Top
ETC Администратор
Отправлено: 16 Января, 2006 - 10:42:59
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Мне непонятно, почему, открыв файл в режиме "w" вы его лочите перед записью, а не перед открытием файла?
 
 Top
Alone
Отправлено: 16 Января, 2006 - 11:19:25
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




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');";
?>


???
 
 Top
Voyager
Отправлено: 16 Января, 2006 - 14:25:37
Post Id



Full Member


Покинул форум
Сообщений всего: 182
Дата рег-ции: Дек. 2005  
Откуда: Волгоград

Карма 0




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');";
?>
 
 Top
ETC Администратор
Отправлено: 16 Января, 2006 - 14:29:56
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Это те же яйца, только в профиль.
По-хорошему, надо открывать файл на чтение и запись одновременно и перед записью его лочить. А не открывать сначала для чтения, а потом для записи...
 
 Top
Alone
Отправлено: 16 Января, 2006 - 15:00:16
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Voyager
А так вовсе не считает Улыбка

Ладно фиг с ним с этим счётчиком. Какой-то он долбанутый... Улыбка
 
 Top
Voyager
Отправлено: 16 Января, 2006 - 20:49:09
Post Id



Full Member


Покинул форум
Сообщений всего: 182
Дата рег-ции: Дек. 2005  
Откуда: Волгоград

Карма 0




Я немного иправил предыдущий свой пост, проверь теперь код.
А так я бы вообще писал счетчик по другому.
 
 Top
Alone
Отправлено: 17 Января, 2006 - 02:44:51
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Voyager
Так считает.
Ладно проверяю его в экстримальных условиях на предмет обнуление.
 
 Top
Страниц (5): « 1 2 3 [4] 5 »
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


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

[Script Execution time: 0.0464]     [ 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