2013-01-09 56 views
0

我想確保我的Twitter的飼料供應一定的方式,緩存或新。我使用下面的代碼嘗試確保緩存的文件是否舊,另外如果同時我仍然有足夠的嘗試留在我的Twitter速率限制中。問題是這個陳述似乎並不正確,但我不明白爲什麼。我已經嘗試過兩個運營商的'& &'和'AND',都沒有工作。任何想法?如果聲明不從事與

$json = file_get_contents("http://api.twitter.com/1/account/rate_limit_status.json", true); 
$decode = json_decode($json, true); 
$twitter_rate_remaining = $decode['remaining_hits']; 

if(((time()-filectime($file)) > 1800) && ($twitter_rate_remaining > 5)) { //do something } 
+2

建議:回波值 「時間() - filectime($文件)」 和 「$ twitter_rate_remaining」。你可能會感到驚訝:) – paulsm4

回答

0

注意:我們不知道$文件來自您的問題 - 它來自哪裏?你使用的是什麼操作系統和文件系統?

不過,我懷疑你想使用filemtime檢查更新到緩存的文件。

它與& &或AND無關,但是兩個條件的布爾值是什麼 - 這就是布爾邏輯的含義。如果其中任何一個值爲假,那麼整個測試將是錯誤的。

做一些調試:

var_dump(time()); 
var_dump(filectime($file)); 
var_dump(time() - filectime($file)); 

var_dump(time()-filectime($file)) > 1800); // output boolean true or false 

var_dump($twitter_rate_remaining); 

var_dump($twitter_rate_remaining > 5); // output boolean true or false; 

var_dump((time()-filectime($file)) > 1800) && ($twitter_rate_remaining > 5)); // output boolean true or false 

這樣的話,你可以看到哪些條件都是假的。

0

好吧,我想通了。我沒有包含在我的功能中。我在外面。衛生署!

$ JSON =的file_get_contents( 「http://api.twitter.com/1/account/rate_limit_status.json」,真正的); $ decode = json_decode($ json,true); $ twitter_rate_remaining = $ decode ['remaining_hits'];

所以我沒能拿到$ twitter_rate_remaining值,直到我把它到它。