0

我一直在 MAMP(PHP 版本 5.4.10)上使用 localhost。我将完全相同的文件上传到我购买的运行 LAMP(PHP 版本 5.4.15-1~lucid+1)的服务器上。我打开文件 localhost 并且图像加载正常且正确。我将确切的文件上传到服务器上,我得到了损坏的图像图像。我的代码:

    <?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

4

1 回答 1

0

我添加了

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

imagettftext($image, 30, 0, 10, 35, $white, $font_path, $title);
于 2013-06-13T21:53:20.413 回答