Autor Zpráva
Marek D.
Profil *
Zdravím vospolok, tento script má fungovať ako status left 4 dead serveru. Ale ani za svet mi nechce tento script zobraziť ako obrázok. Miesto obrázku tam je len url adresa. A na druhom servery (staršom) to ide perfektne. Kde je teda chyba? Novšia verzia GD, alebo?

gd
GD Support enabled
GD Version 2.0 or higher
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

<?php
 error_reporting("0");

 Header("Content-type: image/png");
//------------------------------------------------------------------------------------------------------------+
//------------------------------------------------------------------------------------------------------------+
require "lgsl_class.php";
//------------------------------------------------------------------------------------------------------------+
  $lookup = lgsl_lookup_id($_GET['s']);
  $server = lgsl_query_cached($lookup['type'], $lookup['ip'], $lookup['c_port'], $lookup['q_port'], $lookup['s_port'], "sep");
  $fields = lgsl_sort_fields($server, $fields_show, $fields_hide, $fields_other);
  $server = lgsl_sort_players($server);
  $server = lgsl_sort_extras($server);
  $misc   = lgsl_server_misc($server);
//------------------------------------------------------------------------------------------------------------+
//------------------------------------------------------------------------------------------------------------+
$type = $_GET['type'];
	  if (empty($type)){
	   $type = "normal";
    }

$bgimg = $_GET['bg'];
	  if (empty($bgimg)){
	   $bgimg = "{$server['b']['type']}/{$server['s']['game']}";
    }

$bgimg = "image/{$bgimg}_{$type}.png";

if (!file_exists($bgimg)) {
    $bgimg = "image/default_{$type}.png";
if (!file_exists($bgimg)) {
    $bgimg = "image/default.png";
    $type = "INVALID";
 }
}


$im = imagecreatefrompng($bgimg);

$string0 = "";
$string1 = "";
$string2 = "";
$string3 = "";
$string4 = "";

if ($server['s']['game']=="left4dead"&&$type=="small"){

$string0 = $server['s']['name'];
$string1 = "{$server['b']['ip']}:{$server['b']['c_port']}";
$string2 = $server['s']['map'];
$string4 = "{$server['s']['players']}/{$server['s']['playersmax']}";
}

else{
$string0 = $server['s']['name'];
$string1 = "{$server['b']['ip']}:{$server['b']['c_port']}";
$string2 = $server['s']['map'];
$string3 = "{$server['s']['players']}/{$server['s']['playersmax']}";
$string4 = strtolower($misc['text_status']);
$string4 = ucfirst($string4);
}

//------------------------------------------------------------------------------------------------------------+
//------------------------------------------------------------------------------------------------------------+
    $text_font0 = "image/_font/sansation_bold.ttf";
    $size0 = 9; //Normal
    $size2 = 8; //Small
    $text_font1 = "image/_font/sansation_regular.ttf";
    $size1 = 10; //Normal
    $size3 = 10; //Small
// TEXT COLOR    
    $text_color0 = ImageColorAllocate($im,0,0,0);
    //$text_color0 = 0 - $text_color0;
    $text_color1 = ImageColorAllocate($im,255,255,255);
    //$text_color1 = 0 - $text_color1;
//------------------------------------------------------------------------------------------------------------+   
//------------------------------------------------------------------------------------------------------------+
$x0 = 2;
$y0 = 15;
$x1 = 65;
$y1 = 45;
$x2 = 65;
$y2 = 63;
$x3 = 292;
$y3 = 45;
$x4 = 292;
$y4 = 63;Na servery je nastavené GD na enable tak neviem
$x5 = 2;
$y5 = 10;
$x6 = 2;
$y6 = 24;
$x7 = 135;
$y7 = 24;
$x8 = 240;
$y8 = 24;
$x9 = 295;
$y9 = 24;
//------------------------------------------------------------------------------------------------------------+    
if ($type=="normal"){  
    imagettftext($im,$size0,0,$x0,$y0,$text_color0,$text_font0,$string0);
    imagettftext($im,$size1,0,$x1,$y1,$text_color0,$text_font1,$string1);
    imagettftext($im,$size1,0,$x2,$y2,$text_color0,$text_font1,$string2);
    imagettftext($im,$size1,0,$x3,$y3,$text_color0,$text_font1,$string3);
    imagettftext($im,$size1,0,$x4,$y4,$text_color0,$text_font1,$string4);
  }
else if ($type=="small"){
    imagettftext($im,$size2,0,$x5,$y5,$text_color0,$text_font0,$string0);
    imagettftext($im,$size3,0,$x6,$y6,$text_color0,$text_font1,$string1);
    imagettftext($im,$size3,0,$x7,$y7,$text_color0,$text_font1,$string2);
    imagettftext($im,$size3,0,$x8,$y8,$text_color0,$text_font1,$string3);
    imagettftext($im,$size3,0,$x9,$y9,$text_color0,$text_font1,$string4);
 }

else{
    $text_color0 = ImageColorAllocate($im,0,0,0);
    imagettftext($im,11,0,10,14,$text_color0,$text_font0,$string0);
    imagettftext($im,10,0,10,34,$text_color0,$text_font1,$string1);
    imagettftext($im,10,0,10,54,$text_color0,$text_font1,$string2);
    imagettftext($im,10,0,10,74,$text_color0,$text_font1,$string3);
    imagettftext($im,10,0,10,94,$text_color0,$text_font1,$string4);
}

//------------------------------------------------------------------------------------------------------------+
//------------------------------------------------------------------------------------------------------------+
imagepng($im);

imagedestroy($im);
//------------------------------------------------------------------------------------------------------------+

?>


Ďakujem
Davex
Profil
Skript vypíše chybu, a proto vznikne neplatný obrázek, který prohlížeč nahradí textem URL. Aby se vypsala chyba, tak by mělo stačit změnit Content-type na text/html.
Marek D.
Profil *
Nenapíše mi žiadnu chybu iba vtedy ak napr. vymažem databázu, alebo zadám úplnú blbosť vtedy áno inak nie. Mne to nejde do hlavy hlavne preto, lebo na starom servery mi to ide fakt perfektne a na novom vôbec. Inak v scripte by nemala byť žiadna chyba, tak neviem, ale zatiaľ ďakujem
Davex
Profil
Pokud je vypnuto vypisování chyb, tak se musí samozřejmě zapnout pomocí error_reporting(E_ALL).
Marek D.
Profil *
Áno, zobrazovanie chýb som samozrejme skúsil zapnúť, ale "žiadny" efekt, ale predpokladám že to funguje, keďže som dal naschvál aj zlú IP adresu serveru a vtedy mi chybu vypísalo.
Marek D.
Profil *
Nikto teda nevie čím to môže byť? Teda prečo mi to na starom servery ide a na novom nie? Musím požiadať o pomoc hosting, alebo sa to dá nejako prerobiť ? Ďakujem
Davex
Profil
Skript jsem zkoušel a po drobné úpravě zobrazí obrázek popsaný nějakými údaji. Jelikož nefungujicí skript nevypíše žádné chyby, tak je k lokalizaci problému dostupných málo informací.

Bylo by dobré zkontrolovat, zda v určených místech existují obrázky a fonty. Také by bylo vhodné testovat návratovou hodnotu funkcí na chybový stav.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0