Kombinuję sobie, jak połączyć cache ze statusem serwer, tak aby status odświeżał się co 30 sekund, więc tak aktualnie to statusik pojawia się za pierwszym razem, po odświeżeniu pojawia się link do statusu. 1 wejście obrazek, potem http://www.efrags.pl/status/cs/ffa.efrags.pl:27015.png, a nie obrazek.

To co wyskrobałem:
<?php /* * * Graficzny status serwerow, oparty o biblioteke GameQ ( http://gameq.sourceforge.net/ ) * Copyright 2010 by Fragles.eu * http://opensource.org/licenses/gpl-license.php GNU Public License * Nie zezwalam na sprzedawanie tego skryptu, o czym mowi rowniez licencja GNU * */ require_once 'GameQ.php'; // przykladowe czcionki // przyporządkowujemy zmienna do zmiennej globalnej $server = $_GET['server']; $game = $_GET['game']; $cachefile = "./cache/server_".$_SERVER['QUERY_STRING'].$ext; $cachetime = 30; //czas cache'owania // cachowanie { send_headers(); exit; } // Jesli nie podano ip lub gry { // podzielenie adresu na ip oraz port $gq = new GameQ(); // dodajemy serwer $gq->setOption('timeout', 200); $gq->setFilter('normalise'); $gq->setFilter('sortplayers', 'gq_ping'); $results = $gq->requestData(); /** * rozpatrujemy dwa przypadki * 1 - serwer offline bo nie ma nazwy serwera * 2 - serwer online */ if($results['serwer']['gq_hostname']=="") { $hostname = "Serwer OFFLINE"; $players = "x"; $playersmax = "x"; $map = "Offline"; } else { $hostname = $results['serwer']['gq_hostname']; $players = $results['serwer']['gq_numplayers']; $playersmax = $results['serwer']['gq_maxplayers']; $map = $results['serwer']['gq_mapname']; } // utworzenie obrazka z tla $im = imagecreatefrompng("status/bg.png"); // kolor bialy $white = imagecolorallocate($im, 255, 255, 255); // polaczenie informacji do jednej zmiennej $info = $server ." ". $players ." / ". $playersmax ." ". $map; // gorny rzad, nazwa serwera imagettftext($im, 7, 0, 30, 10, $white, VERDANA, $hostname); // dolny rzad, ip serwera, gracze, mapa imagettftext($im, 7, 0, 30, 21, $white, VERDANA, $info); // nie podano adresu w zmiennej $_GET } else { $im = imagecreatefrompng("status/background.png"); $white = imagecolorallocate($im, 255, 255, 255); $info = "xx.xxx.xxx:xxxxx xx / xx OFFLINE"; imagettftext($im, 7, 0, 30, 10, $white, VERDANA, "Serwer OFFLINE"); imagettftext($im, 7, 0, 30, 21, $white, VERDANA, $info); } function send_headers() { if($ext == '.png') { } else { } } // okreslenie typu zawartosci imagepng($im); imagedestroy($im); ?>
refresh