Как я могу проверить php код для твиттера - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть следующая функция, которая должна открывать для меня поток в Твиттере

<?php
set_time_limit(0);

$query_data = array('track' => 'facebook');
$user = 'xxx';  // replace with your account
$pass = 'xxx';  // replace with your account

$fp = fsockopen("ssl://stream.twitter.com", 443, $errno, $errstr, 30);
if(!$fp){
    print "$errstr ($errno)\n";
} else {
    $request = "GET /1/statuses/filter.json?" . http_build_query($query_data) . " HTTP/1.1\r\n";
    $request .= "Host: stream.twitter.com\r\n";
    $request .= "Authorization: Basic " . base64_encode($user . ':' . $pass) . "\r\n\r\n";
    fwrite($fp, $request);
    while(!feof($fp)){
        $json = fgets($fp);
        $data = json_decode($json, true);
        if($data){
            //
            // Do something with the data!
            //
            echo $data . "<br />";
        }
    }
    fclose($fp);
}
?>

Это мой первый раз, когда я вообще использую php, так что я совершенно не понимаю, что делать.делать с этой переменной $ data, эта строка эха не производит никакого вывода в браузере.Я уверен, что это тривиально, но для меня это первый таймер.

РЕДАКТИРОВАТЬ: Вопрос в том, что мне делать с $ data, чтобы убедиться, что код работает?я просто снимаю файл в браузере?он постоянно говорит "ожидание локального ..." навсегда

1 Ответ

0 голосов
/ 14 февраля 2012

Почему бы просто не проверить, является ли это массив после json_decode?

if( is_array( $data ) and count( $data ) ) // Ensures that json_decode created an array and has more than one element
{
    // do your processing, it should be okay
}
else
{
    // it's broken, error out
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...