2013-01-09 6 views
0

으로 작동하지 않는 경우 내 트위터 피드가 특정 방식으로 캐시되거나 새로 제공되는지 확인하려고합니다. 아래의 코드를 사용하여 캐싱 된 파일이 오래된 지 여부를 확인하고 동시에 내 트위터 속도 제한에 충분한 시도가 남아 있는지 확인합니다. 문제는 그 진술이 제대로 작동하지 않는 것 같지만, 나는 이유를 알 수 없다. 나는 '& &'연산자와 'AND'연산자를 모두 사용해 보았지만 어느 것도 작동하지 않았습니다. 어떤 생각?명세서가 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

SUGGESTION :의 값 에코 "시간() - filectime ($ 파일)"와 "$의 twitter_rate_remaining". 너는 놀랄지도 모르겠다 :) – paulsm4

답변

0

참고 : $ file이 질문의 출처인지는 알 수 없습니다. 어떤 OS와 파일 시스템을 사용하고 있습니까?

그러나 캐시 된 파일의 업데이트를 확인하기 위해 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", TRUE); $ decode = json_decode ($ json, true); $ twitter_rate_remaining = $ decode [ 'remaining_hits']; 내가으로 이동 때까지

는 그래서는 $ twitter_rate_remaining 값을 얻을 수 없습니다.

관련 문제