1
    <?php
$twitter_url = 'http://twitter.com/statuses/user_timeline/ishrikrishna.xml?count=1';

$buffer = file_get_contents($twitter_url);

$xml = new SimpleXMLElement($buffer);

$status = $xml -> status;

$tweet =  $status -> text;

echo $tweet;

?>

我使用这段代码来获取推文,它在本地主机上成功运行,但在我的虚拟主机上却没有,我在两个虚拟主机服务上尝试了这个脚本。

我注意到的问题是 file_get_contents()、simplexml_load_file() 等函数无法从存储在另一台服务器上的 xml 文件(例如 rss 文件)中获取数据。

4

2 回答 2

0

SimpleXML 是 PHP 5 中的新功能。我认为几乎所有网络主机都安装了 PHP 5,但如果您的主机仍在使用 PHP 4,这可能是您的脚本无法正常工作的原因。

于 2010-09-23T14:10:17.790 回答
0

我相信这意味着您关闭了 fopen URL 包装器。请参阅http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen 如果您使用共享 Web 服务器,您可能无法打开这些。

您也许可以使用 cURL 来获取远程页面:

$ch = curl_init('http://twitter.com/statuses/user_timeline/ishrikrishna.xml?count=1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$buffer = curl_exec($ch);

这仅适用于您在虚拟主机上安装并启用了 cURL 扩展。

请参阅 PHP cURL 文档:http ://www.php.net/manual/en/book.curl.php

编辑:更正 curl_setopt 调用

于 2010-09-19T16:11:15.297 回答