2015-12-04 3 views
0

Je travaille sur un générateur de bannière. Tout le code fonctionne parfaitement si j'accède: banner.php?id=<ID>. Je travaille sur localhost, je sais, si je veux voir cette image que j'ai créé, je dois écrire:Les images créées avec PHP ne sont pas affichées

<img src="http://localhost/banner.php?id=<ID>" /> 

Je peux voir l'image seulement si j'accéder lien direct. Pourquoi je ne peux pas le voir si je l'ajoute dans <img> tag? Je pensais que c'est parce que j'utilise cURL pour obtenir des variables, mais non.

<?php 
error_reporting(E_ALL); 
include("settings.php"); 

// GET CULOURS 
if(!isset($_GET['color_title'])) $color_title = "FFC200"; else $color_title = substr($_GET['color_title'],0,6); 
if(!isset($_GET['color_info'])) $color_info = "FFFFFF"; else $color_info = substr($_GET['color_info'],0,6); 
if(!isset($_GET['bg'])) $bg = "bg1"; else $bg = $_GET['bg']; 
if(!isset($_GET['rank'])) $rank = "0"; else $rank = (int)$_GET['rank']; 
// Get Userid 

if(!$_GET['id'] || !ctype_digit($_GET['id'])){ 
    echo '<meta http-equiv="refresh" content="0;url=index.html">'; 
} 

$steamid = $_GET['id']; 

// Get username, avatar , kills, deaths and played time 
$noDigit = 0; 
$hoursPlayed = 0; 
$weHaveCSGO = 0; 
$nullJson = 0; 
if(ctype_digit($steamid)){ 
    $noDigit = 1; 
    $uuser = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=".$steamauth['apikey']."&steamids=".$steamid.""); 
    $user = json_decode($uuser, true); 
    // Until here 
    if(isset($user['response']['players'][0]['steamid'])){ 
     $nullJson = 1; 
     $customURL = $user['response']['players'][0]['profileurl']; 
     $username = $user['response']['players'][0]['personaname']; 
     $avatar = $user['response']['players'][0]['avatarfull']; 
     $privacy = $user['response']['players'][0]['communityvisibilitystate']; 
     if($privacy == 3){ 
      $getGames = simplexml_load_file($customURL."games?tab=all&xml=1"); 
      foreach($getGames->games->game as $game){ 
       if($game->appID == "730"){ 
        $weHaveCSGO = 1; 
        $hoursPlayed = $game->hoursOnRecord;  
       } 
      } 
      $xml = simplexml_load_file($customURL."?xml=1"); 
      $customMessage = $xml->stateMessage; 
      if($weHaveCSGO == 1){ 
       $ggame = file_get_contents("http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=730&key=".$steamauth['apikey']."&steamid=".$steamid.""); 
       $game = json_decode($ggame); 
       foreach($game->playerstats->stats as $stats){ 
        if($stats->name == "total_kills"){ $total_kills = $stats->value ; } 
        else if($stats->name == "total_deaths"){ $total_deaths = $stats->value ; } 
        else if($stats->name == "last_match_favweapon_id"){ $last_match_weapon = $stats->value ; } 
        else if($stats->name == "total_rounds_played"){ $total_rounds_played = $stats->value; } 
        else if($stats->name == "total_wins"){ $total_wins = $stats->value; } 
       } 
      } 
     } 

// Convert weaponID to weaponName 

    if($last_match_weapon == "1") { $last_match_favweapon = "Desert Eagle"; } 
    else if($last_match_weapon == "2") { $last_match_favweapon = "Dual Berettas"; } 
    else if($last_match_weapon == "3") { $last_match_favweapon = "Five-Seven"; } 
    else if($last_match_weapon == "7") { $last_match_favweapon = "AK-47"; } 
    else if($last_match_weapon == "4") { $last_match_favweapon = "Glock-18"; } 
    else if($last_match_weapon == "8") { $last_match_favweapon = "AUG"; } 
    else if($last_match_weapon == "9") { $last_match_favweapon = "AWP"; } 
    else if($last_match_weapon == "10") { $last_match_favweapon = "Famas"; } 
    else if($last_match_weapon == "11") { $last_match_favweapon = "G3SG1"; } 
    else if($last_match_weapon == "13") { $last_match_favweapon = "Galil AR"; } 
    else if($last_match_weapon == "14") { $last_match_favweapon = "M249"; } 
    else if($last_match_weapon == "16") { $last_match_favweapon = "M4"; } 
    else if($last_match_weapon == "17") { $last_match_favweapon = "Mac-10"; } 
    else if($last_match_weapon == "19") { $last_match_favweapon = "P90"; } 
    else if($last_match_weapon == "24") { $last_match_favweapon = "UMP-45"; } 
    else if($last_match_weapon == "25") { $last_match_favweapon = "XM1014"; } 
    else if($last_match_weapon == "26") { $last_match_favweapon = "PP-Bizon"; } 
    else if($last_match_weapon == "27") { $last_match_favweapon = "Mag-7"; } 
    else if($last_match_weapon == "28") { $last_match_favweapon = "Negev"; } 
    else if($last_match_weapon == "29") { $last_match_favweapon = "SawedOff"; } 
    else if($last_match_weapon == "30") { $last_match_favweapon = "Tec-9"; } 
    else if($last_match_weapon == "31") { $last_match_favweapon = "Zeus x27"; } 
    else if($last_match_weapon == "32") { $last_match_favweapon = "P2000"; } 
    else if($last_match_weapon == "33") { $last_match_favweapon = "MP7"; } 
    else if($last_match_weapon == "34") { $last_match_favweapon = "MP9"; } 
    else if($last_match_weapon == "35") { $last_match_favweapon = "Negev"; } 
    else if($last_match_weapon == "36") { $last_match_favweapon = "P250"; } 
    else if($last_match_weapon == "38") { $last_match_favweapon = "Scar-20"; } 
    else if($last_match_weapon == "39") { $last_match_favweapon = "SG553"; } 
    else if($last_match_weapon == "40") { $last_match_favweapon = "SSG08"; } 
    else if($last_match_weapon == "42") { $last_match_favweapon = "Knife"; } 
    else if($last_match_weapon == "43") { $last_match_favweapon = "Flashbang"; } 
    else if($last_match_weapon == "44") { $last_match_favweapon = "HE Grenade"; } 
    else if($last_match_weapon == "45") { $last_match_favweapon = "Smoke Grenade"; } 
    else if($last_match_weapon == "46") { $last_match_favweapon = "Molotov"; } 
    else if($last_match_weapon == "47") { $last_match_favweapon = "Decoy Grenade"; } 
    else if($last_match_weapon == "48") { $last_match_favweapon = "Incendiary Grenade"; } 
    else if($last_match_weapon == "49") { $last_match_favweapon = "C4"; } 
    else if($last_match_weapon == "59") { $last_match_favweapon = "Knife"; } 
    else if($last_match_weapon == "60") { $last_match_favweapon = "M4"; } 
    else if($last_match_weapon == "61") { $last_match_favweapon = "USP-S"; } 
    else if($last_match_weapon == "63") { $last_match_favweapon = "CZ75-Auto"; } 
    else { $last_match_favweapon = "Unknown"; } 
} 
// Create rank image 
switch($rank){ 
    case 1: 
    case 2: 
    case 3: 
    case 4: 
    case 5: 
    case 6: 
    case 7: 
    case 8: 
    case 9: 
    case 10: 
    case 11: 
    case 12: 
    case 13: 
    case 14: 
    case 15: 
    case 16: 
    case 17: 
    case 18: 
     $rank_image = "images/ranks/".$rank.".png"; 
    break; 
    default: 
     $rank_image = "images/ranks/0.png"; 
    break; 
} 
$rankimage = ImageCreateFromPNG($rank_image); 

// Create banner 

switch($bg){ 
    case 'bg1': 
    case 'bg2': 
    case 'bg3': 
    case 'bg4': 
     $im = ImageCreateFromPNG("images/banners/$bg.png") or die ('GD Library not available atm.'); 
    break; 
    default: 
     $im = ImageCreateFromPNG("images/banners/bg1.png") or die ('GD Library not available atm.'); 
    break; 
} 

// Last match weaponID 
$weapon = "images/weapons/hud/AK-47.png"; 
$lmweapon = ImageCreateFromPNG($weapon); 

//Culours for text 
$color_green = imagecolorallocate($im, 0, 183, 21); 
$color_red = imagecolorallocate($im, 255, 0, 0); 

$color_title = "0x$color_title"; 
$color_info = "0x$color_info"; 

$color_online = "0x24FF00"; 
$color_offline = "0xFF0000"; 
$color_black = "0x000000"; 
$color_bgreen = imagecolorallocate($im,0,160,0); 

// Make some changes 
$avatar = str_replace("https","http",$avatar); 

// Get new sizes for avatar 
list($width, $height) = getimagesize($avatar); 
$newwidth = 90; 
$newheight = 90; 

// Load 
$source = imagecreatefromjpeg($avatar); 

// Lenght username 
if(strlen($username) > 21){ 
    $username = substr($username,0,21); 
} 

// Kills/Deaths Ratio 
$kdr = @round($total_kills/$total_deaths,2); 

// Win Ratio 

$win = @round((($total_wins/$total_rounds_played)*100),2); 

//Let's create image, but first check user 
if($noDigit == 0 || $weHaveCSGO == 0 || $nullJson == 0){ 
    imagettftext($im,20,0,140,60,$culoare_text_info,'fonts/arialbd.ttf',"This user doesn't exist !"); 
} else { 
//Avatar 
imagecopyresized($im, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); 
// Rank 
imagecopy($im,$rankimage,96,5,0,0,imagesx($rankimage),imagesy($rankimage)); 
// Username 
imagettftext($im,9,0,153,20,$color_info,'fonts/arialbd.ttf',$username); 
// Status 
$cauta = 'Last Online'; 
$cautare = strpos($customMessage, $cauta); 
$cauta2 = 'In-Game<br/>Counter-Strike: Global Offensive'; 
$cautare2 = strpos($customMessage, $cauta2); 
$cauta3 = 'In-Game<br/>'; 
$cautare3 = strpos($customMessage, $cauta3); 
if($customMessage == "Online"){ 
    imagettftext($im,9,90,347,63,$color_bgreen,'fonts/arialbd.ttf',"Online"); 
}elseif ($cautare !== false) { 
    imagettftext($im,7,0,290,20,$color_red,'fonts/arialbd.ttf',"Offline"); 
} elseif($cautare2 !== false){ 
    imagettftext($im,7,0,282,20,$color_bgreen,'fonts/arialbd.ttf',"Playing CS:GO"); 
} elseif($cautare3 !== false){ 
    imagettftext($im,7,0,276,20,$color_title,'fonts/arialbd.ttf',"IN OTHER GAME"); 
} 
// Fav weapons from last match 
imagecopy($im,$lmweapon,107,30,0,0,imagesx($lmweapon),imagesy($lmweapon)); 
imagettftext($im,9,0,110,70,$color_title,'fonts/arialbd.ttf',$last_match_favweapon); 
// K/D Ratio 
imagettftext($im,11,0,175,52,$color_info,'fonts/arialbd.ttf',$kdr); 
imagettftext($im,9,0,177,70,$color_title,'fonts/arialbd.ttf',"K/D"); 
// Win RATIO 
imagettftext($im,11,0,220,52,$color_info,'fonts/arialbd.ttf', $win."%"); 
imagettftext($im,9,0,222,70,$color_title,'fonts/arialbd.ttf',"WIN %"); 
// Hours Played 
imagettftext($im,11,0,280,52,$color_info,'fonts/arialbd.ttf',$hoursPlayed."h"); 
imagettftext($im,9,0,282,70,$color_title,'fonts/arialbd.ttf',"TIME"); 
} 
} 
header('Content-type: image/png'); 
imagepng($im); 
imagedestroy($im); 
?> 
+1

cliquez avec le bouton droit sur l'image, "voir l'image", voir ce qui se lève? vérifier l'erreur/journal d'accès de votre serveur pour voir ce qui s'est passé lorsque vous avez frappé les deux liens? Il n'y a pas assez d'informations ici pour comprendre le problème. –

+0

A BESOIN DE COOOODE! – Flosculus

+0

Qu'est-ce que ''? – wogsland

Répondre

0

Cette section est erroné

<img src="http://localhost/banner.php?id=<ID>" /> 

Il devrait être

<img src="http://localhost/path to your image" /> 

Si vous l'avez fait pour, allez onclick à une page

alors il devrait être

<a href="http://localhost/banner.php?id=<ID>"> 
    <img src="http://localhost/path to your image" /> 
</a> 
+1

Je pense que vous avez mal compris son problème. 'banner.php? id = ' est représentatif du chemin vers un générateur. Plutôt qu'Apache ou quoi que ce soit l'alimentant directement depuis le système de fichiers. – Flosculus

0

Pouvez-vous nous indiquer votre code? Quelle bibliothèque graphique utilisez-vous? Je n'ai eu aucun problème à utiliser GD2 sur mon ordinateur local.

E.g.

<?php 

header('Content-type: image/png'); 
$img = imagecreate(256, 256); 
$background = imagecolorallocate($img, 255, 255, 0); 
$color = imagecolorallocate($img, $_GET['red'], $_GET['blue'], $_GET['green']); 
imagearc($img, 128, 128, 64, 64, 0, 0, $color); 
imagepng($img); 

?> 

Et dans le fichier HTML puis:

<img src="img.php?red=255&blue=0&green=0" /> 

A travaillé pour moi ...

+0

J'ai ajouté du code dans mon message. –

0

Quand j'avais changé le nom de fichier "banner.php" à un autre nom, ex: « counter .php ', ... Le même code fonctionne correctement. Je ne sais pas quelle est la cause du nom de fichier avec le nom = "bannière" produit cette erreur