【发布时间】:2013-07-26 18:24:37
【问题描述】:
我正在尝试解析一个 xml 文件并通过他们的 ID 显示成员,并带有指向他们个人资料的链接:
$xml=simplexml_load_file("http://steamcommunity.com/gid/103582791433452366/memberslistxml/?xml=1");
foreach ($xml->members->children() as $data)
{
echo '<a href="http://steamcommunity.com/profiles/'.$data.'">'.$data.'</a>'."<br>";
}
效果很好。
但是当我尝试从一个 json 文件(一个成员一个文件)中显示每个成员的头像时,我在 dreamweaver 上收到错误“请求的操作无法执行,因为提供的句柄状态不正确。”
代码如下:
$xml=simplexml_load_file("http://steamcommunity.com/gid/103582791433452366/memberslistxml/?xml=1");
foreach ($xml->members->children() as $data)
{
$player=file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=MY_APY_KEY&steamids=$data");
$data1=json_decode($player);
echo '<a href="http://steamcommunity.com/profiles/'.$data.'"><img src="'.$data1->response->players[0]->avatar.'">'.$data.'</a>'."<br>";
}
但是,例如,如果我将 $player 和 $data1 放在 foreach 之前,然后将 $data 替换为唯一的 steamID(例如 76561197960435530),如下所示:
$xml=simplexml_load_file("http://steamcommunity.com/gid/103582791433452366/memberslistxml/?xml=1");
$player=file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=MY_API_Key&steamids=76561197960435530");
$data1=json_decode($player);
foreach ($xml->members->children() as $data)
{
echo '<a href="http://steamcommunity.com/profiles/'.$data.'"><img src="'.$data1->response->players[0]->avatar.'">'.$data.'</a>'."<br>";
}
它将按 ID 显示成员,并带有指向其个人资料的链接,并将在每个成员旁边显示此 steamid(76561197960435530) 的头像。 我想要做的是在他们的 ID 旁边显示每个成员的头像,而不是 76561197960435530 的头像。
我也试着只输入这段代码:
$xml=simplexml_load_file("http://steamcommunity.com/gid/103582791433452366/memberslistxml/?xml=1");
foreach ($xml->members->children() as $data)
{
$player=file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=my_api_key&steamids=$data");
$data1=json_decode($player);
var_dump($data1);
}
它非常长,几分钟但在dreamweaver上工作,它显示每个json文件的结构化信息。但是当我在firefox上加载页面时它不起作用可能是因为加载时间太长。
【问题讨论】:
-
您可能不应该将您的 API 密钥放在每个人都可以看到的地方。我建议重置您的 API 密钥。
-
这可能听起来很傻,但请尝试:
'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=my_api_key&steamids='.$data