Dlaczego skrypt na baner?
Wiele osób poszukuje skryptu na interaktywny baner, który wyświetla liczbę osób online lub datę czy imieniny. Wiąże się to też z kopiowaniem pomysłów i rozwiązań z serwerów, co sprawia wiele bólu i złości ich właścicielom. Po co więc problemy, skoro można taki skrypt umieścić w publicznym miejscu, aby każdy mógł z niego skorzystać i dopasować do własnych potrzeb. :slight_smile:
Zamieszczam więc w miarę prosty skrypt, który stworzyłem tak, aby każdy zrozumiał zasadę jego działania i dopasował do własnych potrzeb. Tło zostało na szybko przerobione z plików na prawach do ponownej modyfikacji. Czcionki użyte na banerze (Ropa Sans oraz Josefin Sans) są dostępne na Google Fonts.
Baner prezentuje się tak i zawiera kilka zmiennych
Widoczne na banerze to:
- Liczba użytkowników online (z możliwością pomijania konkretnych rang)
- Liczba administratorów (z możliwością wyboru konkretnych rang)
- Aktualny czas
- Dzisiejsza data
- Dzisiejsi solenizanci
I oczywiście można wszystko dopasować do swoich potrzeb i dodać np. liczbę VIPów na serwerze itp.
Pobieranie 📥
Gotową paczkę można pobrać stąd: baner.zip (199,9 KB) dl.lvlup.pro - baner.zip
Wymagania:
- Plik stats.json musi posiadać uprawnienia 777
- Niezbędny jest również TS3 PHP Framework - link tutaj: TS3 PHP Framework
- Niezbędna jest również biblioteka GD - więcej informacji tutaj: Instalacja GD w PHP Jeśli jej nie posiadasz, można ją zainstalować komendą:
apt-get install php5-gd && service apache2 restart
- Dołączam również .htaccess - jeśli zamiast baner.php chcesz mieć baner.png musisz posiadać mod_rewrite dla Apache. Najprościej można włączyć to za pomocą komendy:
a2enmod rewrite && service apache2 restart
Co można zrobić z tego zrobić?
Baner mojego serwera funkcjonuje na podobnej zasadzie. Korzysta z podanej powyżej biblioteki. Nie jest ona może tą najwydajniejszą, ale póki co się sprawdza. Wystarczy odpowiedni cache.
Zasada działania
Skrypt pobiera informacje z serwera przy pomocy TS3 PHP Framework. Jest on niezbędny do działania skryptu i nie ma go w paczce do pobrania!. Więcej o nim możecie poczytać tutaj: https://lvlup.rok.ovh/t/poradnik-ts3-php-framework-seria-poradnikow-od-podstaw/842
Po pobraniu informacji tworzy tablicę z podstawowymi informacjami korzystając z pętli i warunków bazujących na konfigurowalnych wartościach:
// Pętla do liczenia klientów
foreach($clients as $client){
// Wszyscy klienci
$stats['clients']++;
// Pomija wybrane rangi
if(empty(array_intersect(explode(',', ts_sgid_skip_count), explode(',', $client['client_servergroups'])))){
$stats['real_clients']++;
}
// Szuka administratorów
if(!empty(array_intersect(explode(',', ts_sgid_admins), explode(',', $client['client_servergroups'])))){
$stats['admins']++;
}
}
Aby nie łączyć się z serwerem przy każdorazowym wyświetleniu obrazka - ustalamy częstotliwość (w sekundach) pobierania informacji z serwera w konfiguracji skryptu.
Dodatkowo dołączam plik functions.php, w którym są zawarte ciekawe funkcje, które z powodzeniem można wykorzystać przy modyfikacji banera.
Skrypt wykorzystuje banalną konfigurację, która jest już stworzona, ale o której wspominałem w tym poradniku: https://lvlup.rok.ovh/t/poradnik-ts3-php-framework-tworzenie-konfiguracji/852
I to by było na tyle. Ciekawskich zachęcam do komentowania tego tematu, dopytywania się i w przypadku wątpliwości o gorącą dyskusję.