0

我是PHP的新手。我正在使用 wget 调用 http api(托管站点不提供 http_get)。手动执行时调用返回一个 xml 集。但似乎我的 wget 调用正在将响应放入一个数组中。

我无法访问数组,也不确定从这里去哪里。

下面是我的代码。仅供参考——xml play_by_play 对象的前 4 个元素是:id、visitor、home、status。

<?php
exec('wget http://api.sportsdatallc.org/mlb-t3/pbp/99a0f209-2c69-49a4-99f9-8aebdf55b6e9.xml?api_key=API_KEY', $array);

//print_r(array_values($array));
echo $array["play_by_play"][0]->id;


?>

我很感激这方面的任何帮助!

谢谢

4

1 回答 1

0

使用exec()时,第二个参数 ( $array) 将填充输出的每一行。那不是你想要的。这就是为什么您无法访问您的值的原因,它只是一系列字符串,而不是解析的 XML 文件。

我建议你shell_exec()改用。

$xml = shell_exec('wget http://your.xml.file');

然后,您可以在$xml.


exec当 PHP 内置文件下载时, 我不知道你为什么在这里使用。http_get()不是 PHP 核心的一部分,这就是您的主机不提供它的原因。如果他们让你使用exec(),那么我假设他们会让你使用内置的file_get_contents().

$xml = file_get_contents('http://your.xml.file');
于 2013-10-01T17:25:52.900 回答