<?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;
?>
我使用此代码来获取推文并且它在localhost上成功运行但在我的webhost上没有成功,我在两个虚拟主机服务上尝试了这个脚本。
我注意到的问题是像file_get_contents(),simplexml_load_file()这样的函数无法从另一台服务器上存储的xml文件(例如rss文件)中获取数据。
答案 0 :(得分: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);
这只适用于您在webhost上安装并启用cURL扩展程序。
请参阅PHP cURL文档:http://www.php.net/manual/en/book.curl.php
编辑:更正了curl_setopt调用
答案 1 :(得分:0)
SimpleXML是PHP 5中的新功能。我认为几乎所有的webhost都安装了PHP 5,但是如果您的主机仍在使用PHP 4,那可能是您的脚本无法正常工作的原因。