首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP打印Gameserver信息PNG

PHP打印Gameserver信息PNG
EN

Stack Overflow用户
提问于 2012-10-06 01:45:33
回答 1查看 158关注 0票数 0

嗯,我已经做了一个简单的脚本,打印服务器信息到PNG图片,它确实工作,但有一些问题。

我使用了一个免费的脚本,它使用php从源服务器获取变量,然后打印输出,我对它进行了编辑,这样它就会打印成图片,但不知何故,它不会打印播放器和映射值。

这是脚本使用的config.php。

代码语言:javascript
复制
<?php

$servers = array (array ('name' => '[TF2] gameTek Idle Trade Server #1 [NO]',
                         'ip' => '84.234.160.79',
                         'port' => 27015),
                         array ('name' => '[TF2] gameTek Achevments Idle Trade Server #2 [NO]',
                         'ip' => '84.234.160.79',
                         'port' => 27017), 

                         array ('name' => '[TF2] gameTek BOT Fun #3 [NO]',
                         'ip' => '84.234.160.79',
                         'port' => 27016),
                           array ('name' => '[TF2] gameTek Achevments Idle Trade Server #5 [DFW]',
                         'ip' => '50.56.179.18',
                         'port' => 27015)
                         );
/*
$cachelifetime = 30;
$cachefile = './cache/servers.html';
*/
$output = '
<p><a href="steam://connect/#ip#:#port#">
<img 
src="Generate.php?n=#name#&p=#players#/#maxplayers#&m=#map#" alt="" /></a></p>
';

?>

打印时的输出为

代码语言:javascript
复制
http://teamgamers.net/GetInfoServer/Generate.php?n=[TF2]%20gameTek%20Idle%20Trade%20Server%20#1 [NO]&p=3/32&m=tek_idle_trade_v5

那么,我如何才能让它完美地工作,而不是像现在这样,它只打印服务器名称,而不打印其余部分呢?我试着弄明白了一点,但没有成功。

Generate.php

代码语言:javascript
复制
<?php
$Name = $_GET['n'];
$Players = $_GET['p'];
$Map = $_GET['m'];
$Image = @ImageCreateFromPNG("./Server.png");
$Cord = imagecolorallocate($Image, 255, 255, 255);
imagestring($Image,15,60,7,$Name,14);
imagestring($Image,15,62,37,$Players,14);
imagestring($Image,15,140,37,$Map,14);
header('Content-type: image/png');
imagepng($Image);
?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-06 03:30:41

Check out urlencode;基本上,您放入url的所有内容都需要传递到urlencode中,以确保它不包含任何元字符。

代码语言:javascript
复制
$servers = array (array ('name' => urlencode('[TF2] gameTek Idle Trade Server #1 [NO]'),
// and so on...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12751433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档