![]() |
◊ |
www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум |
![]() |
#11 |
Местный
|
![]() |
![]() |
![]() |
#12 |
Местный
|
![]()
Вот ресурсик по яве http://javascript.ru/
|
![]() |
![]() |
#13 |
Местный
Регистрация: 02.09.2007
Сообщений: 226
Вы сказали Спасибо: 370
Поблагодарили 256 раз(а) в 53 сообщениях
|
![]()
google фуфло
не всегда можно найти,то что нужно... |
![]() |
![]() |
#14 |
Местный
Регистрация: 20.09.2007
Сообщений: 4,201
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
![]()
#!/usr/bin/perl
$namefile="/home2/your_domen/public_html/mystat/count.txt"; $nameipfile="/home2/your_domen/public_html/mystat/ip.txt"; $ip=$ENV{"REMOTE_ADDR"}; open (IPFILE, "$nameipfile"); $ipold = ; close(IPFILE); chomp ($ipold); if ($ipold eq $ip) { exit; } open (IPFILE, "$nameipfile"); print IPFILE "$ip"; close(IPFILE); open (COUNTFILE, "+<$namefile"); flock (COUNTFILE,2); $count =readline(*COUNTFILE); chomp ($count); $count=$count + 1; seek (COUNTFILE,0,0); truncate(COUNTFILE,0); print COUNTFILE "$count"; close(COUNTFILE); print "Content-Type: text/html "; print "$count"; exit; |
![]() |
![]() |
#15 | |
Местный
Регистрация: 02.09.2007
Сообщений: 226
Вы сказали Спасибо: 370
Поблагодарили 256 раз(а) в 53 сообщениях
|
![]() Цитата:
Да я и тот смог запустить: PHP код:
Правда он работает нормально только после 100 000. |
|
![]() |
![]() |
#16 |
Местный
Регистрация: 20.09.2007
Сообщений: 4,201
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
![]() |
![]() |
![]() |
#17 |
Местный
|
![]() |
![]() |
![]() |
#18 | |
Местный
Регистрация: 20.09.2007
Сообщений: 4,201
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
![]() Цитата:
Что будет, если в браузере зайти на страницу со счетчиком и нажать "обновить"? Правильно - значение счетчика увеличится на единицу. Причем каждая новая загрузка страницы в браузер будет вызывать увеличение значения счетчика. Научим счетчик отслеживать заходы подряд с одного IP-адреса и не засчитывать их. Здесь кончается история счётчика посещений!!!! Для этого создадим файл, например, ip.txt и положим его в ту же директорию mystat на сервере. Назначим ему права доступа 666. В этом файле будем хранить IP-адрес, засчитанного счетчиком. Теперь осталось добавить проверку в скрипт. Добавим переменную, содержащую путь к файлу: $nameipfile="/home2/your_domen/public_html/mystat/ip.txt"; Теперь надо получить IP-адрес посетителя. Содержится он в переменной $ENV{"REMOTE_ADDR"}, значение которой передается скрипту браузером посетителя вместе с запросом. Присвоим это значение переменной $ip: $ip=$ENV{"REMOTE_ADDR"}; Теперь считаем из файла ip.txt значение IP-адреса, сравним его с полученным. Если они совпадают, тогда не засчитаем заход (завершив работу скрипта), если же не совпадают - увеличим значение счетчика и запишем новое значение IP-адреса в файл ip.txt: PHP код:
PHP код:
1) Открываем файл для чтения и записи: open (COUNTFILE, "+<$namefile"); 2) Блокируем файл от доступа из других одновременно запущенных процессов выполнения скрипта flock (COUNTFILE,2); 3) Считываем значение счетчика из файла $count =readline(*COUNTFILE); 4) Удаляем символ конца строки (если он случайно неизвестно откуда появился) chomp ($count); 5) Увеличиваем значение счетчика $count=$count + 1; 6) Перемещаем указатель позиции в файле на его начало seek (COUNTFILE,0,0); 7) Усекаем длину файла до текущей позиции (т. е. до начала файла, куда мы передвинули этот указатель предыдущей строкой) truncate(COUNTFILE,0); 8) Записываем в файл новое значение счетчика print COUNTFILE "$count"; 9) Закрываем файл, одновременно снимая с него блокировку close(COUNTFILE); Итак, весь скрипт теперь будет иметь следующий вид: PHP код:
Нас уже - [ ] ...вуаля Последний раз редактировалось Messiah; 07.11.2009 в 23:52. |
|
![]() |
Этот пользователь сказал Спасибо Messiah за это полезное сообщение: | Luky (08.11.2009) |
![]() |
#19 | |
Местный
Регистрация: 02.09.2007
Сообщений: 226
Вы сказали Спасибо: 370
Поблагодарили 256 раз(а) в 53 сообщениях
|
![]() Цитата:
var memCount менял,поэтому и сказал,что до 100 000 работает не корректно,поэтому я в вар и поставил минимальной число,с которго счетчик работает нормально. |
|
![]() |
![]() |
#20 | |
Местный
Регистрация: 26.04.2006
Адрес: Удомля, гдежещё
Сообщений: 1,981
Вы сказали Спасибо: 676
Поблагодарили 257 раз(а) в 167 сообщениях
|
![]() Цитата:
Обратите внимание на переменные, определяющие начало счёта и скорость счёта. Попробуйте посмотреть код этого счётчика в разные дни. Вы будете приятно удивлены, что эти цифры меняются.... По секрету могу сказать, как в некоторых технических системах определяется скорость. Возьмём простой пример. Пусть на оси вращается один большой зуб и 36 маленьких, расположены равномерно по окружности. Мы можем определить только положение (момент) большого зуба. Вопрос: как определить моменты прохода мимо датчика маленьких зубьев (датчик их не чувствует, он чувствует только большой зуб).... Если за пару дней ответа не будет, напишу как на самом деле делается. В)
__________________
I never saw a wildthing sorring for itself. A small bird will drop frozen dead without ever felt sorry for itself. |
|
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|