Счетчик в реальном времени, который показывает текущих людей онлайн (PHP и jquery) - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь сделать счетчик для текущих онлайн-пользователей. но я не могу найти эффективный способ сделать это прямо сейчас. Я уже думал об автоматической перезагрузке, но это не слишком эффективно. Я хочу, чтобы вывод кода был =>

<p>Current online: <span id="counter">---</span></p>

=> Current online: ---

. Я могу автоматически перезагрузить элемент span с помощью jquery, но мне нужен скрипт счетчика для проверки текущих людей в сети. Если требуется база данных, я предпочитаю для этого простой файл на сервере. У кого-нибудь есть идея, как я могу это выяснить?

Я пытался =>

Просматривать каждый запрос в течение 2 минут онлайн, а затем страница автоматически перезагружается, чтобы проверить, если страница по-прежнемуоткрыт, если нет, то он не в сети, но я ищу лучшую и более быструю систему взаимодействия, но я не могу думать ни о чем. Я прошу не код, а просто идею о том, как заставить его работать. Спасибо

1 Ответ

1 голос
/ 08 октября 2019

Я заставил это работать! Я использую этот скрипт для загрузки 2 PHP-файлов, чтобы изменить число с +1 на -1.

$(window).on('load', function() {
        // async: false will make the AJAX synchronous in case you're using jQuery
        $.ajax({
            type: 'POST',
            url: 'http://localhost/Onload.php',
            data: { ajax_data : 22 },
            async: false
        });
    });
    $(window).on('unload', function() {
        // async: false will make the AJAX synchronous in case you're using jQuery
        $.ajax({
            type: 'POST',
            url: 'http://localhost/Onclose.php',
            data: { ajax_data : 22 },
            async: false
        });
    });

Другие 2 файла здесь => Onload.php:

<?php
$myfile = fopen("Counter.txt", "r") or die("Unable to open file!");
$before = fread($myfile,filesize("Counter.txt"));
fclose($myfile);
$myfile = fopen("Counter.txt", "w") or die("Unable to open file!");
$after = $before + 1;
echo "$before : $after";
fwrite($myfile, $after);
fclose($myfile);
?>

Onclose.php:

<?php
$myfile = fopen("Counter.txt", "r") or die("Unable to open file!");
$before = fread($myfile,filesize("Counter.txt"));
fclose($myfile);
$myfile = fopen("Counter.txt", "w") or die("Unable to open file!");
$after = $before - 1;
echo "$before : $after";
fwrite($myfile, $after);
fclose($myfile);
?>

Теперь вам нужно всего лишь создать скрипт для считывания txt-файла и распечатать его в элементе span. Надеюсь, я вам помогу!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...