0

ユーザー フィードを取得するための単純なウィジェットを作成しようとしています。Twitter の API の OAuth 機能である @anywhere と連携するようにアプリケーションを完全に設定しました。

私が抱えている問題は、ユーザーのツイートを取得して、テキスト ファイルに再度書き込もうとするときです。そうするための私のコードは次のとおりです

    <?php

    $cache = dirname(__FILE__) . '/../cache/twitter-json.txt';
    $data = file_get_contents('http://api.twitter.com/1/statuses/user_timeline/screen_name.json?count=3&include_rts=true&include_entities=true'); 

    $cachefile = fopen($cache, 'wb');
        fwrite($cachefile,utf8_encode($data));
        fclose($cachefile);
?>

さて、このコードは、アプリケーションをローカルで実行するとうまく機能しますが、サーバーにデプロイすると何らかの理由で機能しません。サーバー上にキャッシュ ファイルが作成され、ファイルの書き込み手順が機能するかどうかを確認するために追加したテスト データが作成されます。

自分でサーバーをセットアップしていない 外部の会社によって運営されている ftp コマンドを使用して Web アプリケーションを展開しているだけです

どんな助けやアイデアもいただければ幸いです

4

1 に答える 1

0

ホストに確認してください。セキュリティ上の理由から、ほぼ確実に file_get_contents が許可されていません。

あなたの選択肢は

  1. php.ini を allow_url_fopen に編集して有効にするよう依頼します。
  2. cURL を使用して呼び出しを行う

これは、php で curl を使用した基本的な例です。

$url = "http://api.twitter.com/1/statuses/user_timeline/screen_name.json?count=3&include_rts=true&include_entities=true"
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_URL,$url);
$data = curl_exec($curl_handle);
curl_close($curl_handle);
于 2012-07-01T13:35:06.143 に答える