2013-06-13 57 views
0

我一直在MAMP(PHP版本5.4.10)上工作localhost。我将EXACT文件上传到我购买的运行LAMP的服务器上(PHP版本5.4.15-1〜lucid + 1)。我打开文件localhost和图像加载正确和正确。我将确切的文件上传到服务器上,并得到了破碎的图像。我的代码:显示本地主机但不在服务器上的PHP GD图像

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
require_once('query.class.php'); 
$Server = new MinecraftServerStatus($IP = '69.65.42.155', $Port = 30465, $Timeout = 1); 

header('content-type: image/png'); 

$image = imagecreatefrompng('http://192.34.58.24/cfgd/images/o_image1.png'); 

$dark_grey = imagecolorallocate($image, 102, 102, 102); 
$white = imagecolorallocate($image, 255, 255, 255); 
$red = imagecolorallocate($image, 255, 0, 0); 
$green = imagecolorallocate($image, 0, 255, 0); 

$font_path = 'Brixton'; 

$title = 'Knightsrp'; 
if($Port != 25565){ 
    $dip = $IP.':'.$Port; 
} 
else{ 
    $dip = $IP; 
} 

if($Server->Get('online')){ 
    $status = 'Online'; 
    $players = $Server->Get('numplayers').'/'.$Server->Get('maxplayers'); 
} 
else{ 
    $status = 'Offline'; 
} 

imagettftext($image, 30, 0, 10, 35, $white, $font_path, $title); 
if($status == 'Online'){imagettftext($image, 20, 0, 5, 87, $green, $font_path, $status);}else{imagettftext($image, 20, 0, 5, 87, $red, $font_path, $status);} 
if($status == 'Online'){imagettftext($image, 20, 0, 550, 87, $white, $font_path, $players);} 
imagettftext($image, 20, 0, 350, 20, $white, $font_path, $dip); 

imagepng($image); 

imagedestroy($image); 
?> 

您可以找到PHP类我在这里使用:https://github.com/NoxNebula/Minecraft-Server-Status

+1

之前为Gd安装在远程服务器上? – sebastian

+0

对不起,忘了补充一点,是我的服务器和本地主机都安装了GD。 – OPatel

+0

'$ font_path'是否正确?字体是否存在于服务器上? – sebastian

回答

0

我加

putenv('GDFONTPATH=' . realpath('.')); 

imagettftext($image, 30, 0, 10, 35, $white, $font_path, $title); 
相关问题