所以,我试图输出一个人玩L4D2(游戏ID 550)的游戏时间,虽然这个脚本曾经工作过,现在它只使用这个“PHP Simple HTML DOM”输出一个空白页面http://rghost.net/45405596。如果我下载并尝试使用他们网站上最新的简单dom,而不是显示任何内容
在第9行“
上调用未定义的函数file_get_dom()
这是我正在运行的代码
<?php
ini_set('memory_limit', '-1');
include('simple_html_dom.php');
$lines = file('profile2.txt'); //reads in the file with the list of user numbers
foreach ($lines as $usernumber) { //loops line by line
$link = "http://steamcommunity.com/profiles/<sitenumber>/games?tab=all"; //link format
$link = preg_replace('/(<sitenumber>)/i',$usernumber,$link); //puts usernumber into link format
$link = preg_replace('/\s*/m','',$link); //remove the stupid space
$html = file_get_dom($link); //calls the dom function
$divline = $html->find('div[id=game_550] h5', 0); //finds the div block and then the h5 line
$divline = preg_replace('/(<(\/)?h5>)/i', '', $divline); //replaces the <h5> tag with nothing
if ($divline != '') {
list($hrs,$u1,$u2,$u4) = explode(" ",$divline);
if (($hrs < 90) && ($hrs > 1)) {
echo $hrs." - ".$link."<br>"; //prints results
}
}
$html->__destruct();
unset($html);
while(@ob_end_clean());
}
?>
这指向一个名为profile3.txt的文本文件,其中包含此编号“76561198049810642”
有关为什么没有输出的任何建议?万分感谢!
答案 0 :(得分:2)
以下是一些(未经测试的)代码,可以帮助您开始使用Steam Web API:
$api_key = '...';
$steam_id = '...';
$game_id = 550;
$json = file_get_contents('http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=' . $api_key . '&steamid=' . $steam_id . '&format=json');
$data = json_decode($json);
foreach ($data->response->games as $game) {
if ($game->appid == $game_id) {
echo 'Playtime for ', $game_id, ' is ' . $game->playtime_forever;
}
}