Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Счётчик


Автор: APro 19.7.2008, 17:58
Здравствуйте,

Я бы хотел сделать такой счётчик как ВКонтакте. Типа: "Унас уже 11 059 784 человек", типа этого. Только вот там JavaScript, который раз в секунду приплюсовывает 1.

Мне надо, что-то на подобии этого:
На сайте выводится: "У нас XXX человек", но вот это число XXX должно в час становится на один больше (XXX+1), но чтобы это было у всех человек сразу же, надо чтобы последнее число сохранялось в  файл.

(если пользователи видят 100 человек, то через 3 часа, независимо были ли они на страницы, должны увидеть 103 человека.)

Для непонятливых (так, на всякий случай):
в фаиле count.dat есть число, например 1 (просто одна строчка)
скрипт должен прочитать это число и через час добавить туда 1. после записать в файл (будет 2)
и т.д.
Ну и просто на страницу подгружать в нужное место это число (из файла)

--
Зарание Спасибо!

Автор: Fortop 19.7.2008, 18:04
не нужно тебе хранить число.
Тебе нужно хранить стартовую дату. 
А затем при выводе страницы рассчитывать сколько должно быть на текущий момент пользователей.
А уж увеличиваются он +1 в час или +1 в секунду, абсолютно неважно.

Автор: MoLeX 19.7.2008, 18:05
APro, т.е. ты хочешь чтобы тебе сдесь этот счетчик сделали?

Автор: Feldmarschall 19.7.2008, 18:29
вообще-то обманывать нехорошо.
но в чем разница между счетчиком, прибавляющим раз в секунду и раз в час - я не понял

Автор: nerezus 19.7.2008, 18:53
Feldmarschall, прибавляй отбалды.
А если хочешь честно - то гугли AJAX.

Автор: APro 19.7.2008, 19:01
ааааааааааааааааа..... я нипонимаю Вас... Так же как Вы не понимаете меня. Кто-нибудь может написать простой код этого действая.

Что у нас есть:
  • index.php
  • count.txt
1:
index.php
При заходе на этот сайт нужно чтобы число X, которое находится в файле count.txt (а мы его не знаем, знаем только что число целое, например 5). Должно увиличится на 1 (x+1) и должно сохранится в этот файл.

2:
Так же при заходе на в index.php в определённое место вставляем то число, которое получилось в файле count.txt.

Принцып такой, что каждый зашедший видит всегда разные числа.

P.S.: Как сделать 2 - я знаю, я всего лишь прошу, чтобы вы помогли написать то что под цифрой 1. 

P.P.S: Я на этом форуме уже 2 раз прошу, описываю что должно быть, а меня всё равно не понимают. Мне не нужен счётчик, который бы считал IP, hits, host и т.п.

Автор: Feldmarschall 19.7.2008, 19:12
ты просто не читаешь что тебе пишут.

Добавлено через 53 секунды
А вот насчет того, что никто тебя, такого оригинального, не понимает - это ты ошибся.

Автор: Fortop 19.7.2008, 19:56
Никому не кажется, что это две разные вещи?

Цитата(APro @  19.7.2008,  19:01 Найти цитируемый пост)
При заходе на этот сайт нужно чтобы число X, которое находится в файле count.txt (а мы его не знаем, знаем только что число целое, например 5). Должно увиличится на 1 (x+1) и должно сохранится в этот файл.


Цитата(APro @  19.7.2008,  17:58 Найти цитируемый пост)
Мне надо, что-то на подобии этого:
На сайте выводится: "У нас XXX человек", но вот это число XXX должно в час становится на один больше (XXX+1), но чтобы это было у всех человек сразу же, надо чтобы последнее число сохранялось в  файл.

(если пользователи видят 100 человек, то через 3 часа, независимо были ли они на страницы, должны увидеть 103 человека.)


Автор: APro 19.7.2008, 20:08
Раз у всех есть что-то против одного часа, то давайте без времени. Просто помогите с последней версией... plz

Автор: Feldmarschall 19.7.2008, 20:19
APro, давай ты будешь читать, что тебе пишут? просто читать. буквы там, слова. 
Ты можешь ответить на один простой вопрос. чем принципиально отличается счетчик, который увеличивается на 1 в секунду, от счетчика, который увеличивается раз в час?
Ответь, пожалуйста

Автор: Sniper 19.7.2008, 20:28
топикстартер, запиши вместо 1000 вот это 60*60*1000 и будет тебе счастье ;-)

Автор: APro 19.7.2008, 21:14
Цитата(Feldmarschall @ 19.7.2008,  20:19)
APro, давай ты будешь читать, что тебе пишут? просто читать. буквы там, слова. 
Ты можешь ответить на один простой вопрос. чем принципиально отличается счетчик, который увеличивается на 1 в секунду, от счетчика, который увеличивается раз в час?
Ответь, пожалуйста

Ну, каждую секунду будет увеличивать на 1. Спустя минуту будет 60 (0+1+1+1+...+1+1 = 60)
В час - Каждый час +1. За день должно быть 24. Вот и всё!

Автор: Feldmarschall 19.7.2008, 21:22
ну так если разницы нету, то почему ты до сих пор не взял свой счетчик с вконтакте, а морочишь тут людям голову?

Автор: APro 19.7.2008, 22:10
Как мне PHP оттуда достать?  smile Там есть JS и PHP. JS взял, а вто PHP КАК?

Автор: Sniper 19.7.2008, 22:18
>а вто PHP КАК? 

а зачем?

Код

$f=fopen("файл_куда_надо_записать_число","r");
while (!feof($f)) {
    $buffer = fgets($f);
}
fclose($f);

$buffer+=1;

$f=fopen("файл_куда_надо_записать_число","w");
fwrite($f, $buffer);
fclose($f);


не знаю работает или нет, но суть надеюсь понятна

функции описаны тут http://ru2.php.net/manual/ru/function.fopen.php

Автор: Feldmarschall 19.7.2008, 22:27
APro, ты сам сказал, что РНР там нету. что там просто счетчик на яваскрипте. Ты можешь уже, наконец, определиться с этой бессмысленной задачей?

Добавлено через 4 минуты и 27 секунд
Sniper, тебе своих проблем мало, ты решил чужие порешать?

Автор: APro 20.7.2008, 00:40
ppc ... я делал то же самое, а у меня не получалось. (правда я делал одним fopen и параметр rw ставил...)

Спасибо!

Автор: Feldmarschall 20.7.2008, 00:54
Беда многих новичков не в том, что они не знают, как правильно, а в том, что свое незнание они считают самым правильным знанием.
И еще одна беда, которая очень характерно описана в книжке про Ходжу Насреддина.
Очень многими посетителями выговаривается только слово "дай". Нет взаимодействия с собеседниками. Нет обратной связи. Нет желания понять, что тебе говорят, и задать вопросы. А только "Дайте мне то, что я хочу, и не задавайте вопросов!!!". потому что если ответить на пару вопросов, то выяснится, что задача-то решается совсем по-другому. А хочется - см. п.1

Автор: Feldmarschall 20.7.2008, 10:59
APro, ты же ведь так и не понял, что для описанного тобой счетчика ни пхп, ни файлы на стороне сервера не нужны.
К чему весь этот код с fopen?

Автор: MuToGeN 20.7.2008, 11:12
Цитата(Feldmarschall @  20.7.2008,  00:54 Найти цитируемый пост)
Беда многих новичков не в том, что они не знают, как правильно, а в том, что свое незнание они считают самым правильным знанием.

Программировать – значит понимать. © Кристин Нюгард.
Странно, что большинство еще не поняло этой простой истины.
/* позволил себе немножко оффтопа, т.к. тема, судя по всему, действительно будет прикрыта в ближайшем будущем */

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)