Я не могу дать вам ответ на то, как реализовать это с помощью программного обеспечения форума вы используете. Я проверил сайт и у них есть форум для модов и плагинов, поэтому вы можете спросить там, должен ли он быть плагином (если, конечно, кто-то здесь не знает его).
Чтобы узнать IP-адреса всех пользователей, зарегистрированных на сайте, вы могли бы сделать что-то вдоль линий этого (мы определяем в настоящее время вошли в систему как «имеет сеанс»):
// put in your bootstrap after you defined getRealIpAddr()
if(session_id() === '') {
session_start();
}
$_SESSION['ip'] = getRealIpAddr();
Тогда в вашем lib добавить класс SessionReader, например
class SessionReader
{
// serializes session data without destroying your own session
public function decode($filecontent){
// see http://de.php.net/manual/de/function.session-decode.php#69111
}
// just reads in the contents of a session file
public function readSessionData($file)
{
return file_get_contents(realpath("$session_save_path/$file"));
}
// returns all filenames in save path starting with 'sess'
public function getSessionFiles()
{
$path = realpath(session_save_path());
return glob($path . '/sess*');
}
// uses the above methods to build an array of all decoded sessions
public function getEveryonesSessionData()
{
$contents = array_filter($this->getSessionFiles(),
array($this, "readSessionData"));
return array_filter($contents, array($this, "decode"));
}
}
Чтобы использовать его, сделать
$sessionReader = new SessionReader;
foreach($sessionReader->getEveryonesSessionData() as $session) {
echo $session['IP'];
}
Отказ от ответственности: это лишь доказательство концепции ака некрасиво хак. Я не ожидаю, что это будет работать без корректировки. так что вы тоже не должны. Но вы должны быть в состоянии сделать это отсюда.
SessionReader должен иметь возможность читать во всех файлах сеанса в session_save_path, указанном в PHP.ini или в другом месте вашего приложения. Предполагается, что файлы сеанса начинаются с sess и сохраняются в файловой системе. При вызове getEveryonesSessionData() класс найдет, прочитает, расшифрует и вернет все файлы сеанса в массиве, чтобы вы могли получить к ним доступ по одному.
Для того, чтобы это запустить с помощью своего программного обеспечения для форума, вы должны выяснить, как они определяют пользователей в настоящий момент и как и как они используют сеансы.
спасибо за ответ, я хочу, чтобы страница, в которой перечислены IP-пользователи онлайн, очень проста. – Alireza