2011-01-24 6 views
1

を吐き出すときに私はここにカールを使用してさえずりの外にツイートを引くしようとしているMySQLを更新するために、カール使用すると、コマンドはカールがOKという奇妙ここで問題(あるいはそうでないかもしれない)</p> <p>をJSON

curl http://stream.twitter.com/1/statuses/filter.json?track=XXhashtagXX -XXuserXX:XXpassXX 

ですどこにxがあるかは、Twitterのユーザー名とパスワード、探しているハッシュタグなどの変数の場所です。

これは、変更が行われるたびにスクリプトに警告するTwitterの安らかなAPIを使用しています。

コンソールでは、このcurlコマンドは完璧に動作しますが、出力を取得してmysqlテーブルに保存するだけで済みます。

ご協力いただければ幸いです。

+0

あなたの難しさはどこにありますか?あなたのスクリプトが出力ファイルを読むことができないのですか、またはデータベースに物を挿入する方法が分かりませんか? – mario

+0

JSONレスポンスを取得するには[PHP cURL](http://php.net/curl)、配列/オブジェクトにデコードする[json_decode](http://php.net/json_decode)、[curl_setopt](http ://php.net/curl_setopt)、データベース挿入のための[PDO](http://php.net/pdo)を参照してください。特定の回答が必要な場合は、コードを表示してください。 – netcoder

+0

ああ、申し訳ありません申し訳ありませんが、上記のカールコードを含むスクリプトをどのように記述するのかについてはかなり興味があります。私はPHPを知っていると私はjson_decodeを知っている。しかし、どうやってストリームがあなたのところに戻ってくるのを待って反応しますか?現時点では、私はカールをコマンドラインに入れて出力を見る方法しか知りません。 – coolestdude1

答えて

1

IRL buddy。あなたが欲しいものはここにあります。

のchmod A + X watch_twitter.sh ./watch_twitter.sh

又は

のSH watch_twitter.sh

watch_twitter.sh

#!/usr/bin/sh 
nohup curl http://stream.twitter.com/1/statuses/filter.json?track=hashtag -uusername:password\!\! -o test.txt -N & 
nohup php watch_test.php & 
exit 

watch_test.php

<?php 
while(1){ 
     echo "."; 
     $data = file_get_contents('test.txt'); 
     if($data){ 
       file_put_contents('test.txt',""); 
       $dataarry = explode("\n",$data); 
       foreach($dataarry as $data){ 
         print_r(json_decode(trim($data))); 
       } 
       echo "FOUND SOMETHING!"; 
     } 
     sleep(1); 
} 
print_r($data); 
?>