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;

?>

このコードを使用してツイートを取得しましたが、localhost では正常に動作しましたが、私の Web ホストでは動作しませんでした。このスクリプトを 2 つの Web ホスティング サービスで試しました。

私が気付いた問題は、file_get_contents()、simplexml_load_file() などの関数が、別のサーバーに保存されている xml ファイル (例: rss ファイル) からデータを取得できなかったことです。

4

2 に答える 2

0

SimpleXML は PHP 5 の新機能です。ほぼすべての Web ホストに 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);

これは、Web ホストに cURL 拡張機能がインストールされ、有効になっている場合にのみ機能します。

PHP cURL ドキュメントを参照してください: http://www.php.net/manual/en/book.curl.php

編集: curl_setopt呼び出しを修正

于 2010-09-19T16:11:15.297 に答える