2009-12-17 4 views
1

Twitter API를 사용하기 위해 php-twitter (Billingham 외)를 사용 중이며 showStatus 기능을 사용하는 측면에서 벽에 부딪혔다. 대부분의 경우 그것은 어떤 지위도 보이지 않았으며, 그랬을 때 잘못된 상을 보여주었습니다. 벽에 머리가 많이 부딪히면서 intval()을 호출하면 실제로 showStatus $ id 매개 변수에 배치 한 값이 변경되었다는 것이 내 문제라는 것을 알게되었습니다. 함수에서 intval()을 제거하면이 시점까지 문제가 해결 된 것으로 보입니다.PHP-Twitter 및 showStatus() 관련 문제

누구든지이 문제를 겪고 있습니까? 나는 변화를 만드는 것에 대해 약간 신경이 쓰이는데, 이것이 최선의 방법일까요?

+0

질문과 함께 코드를 제공하십시오. – Gordon

답변

1

intval()이이 문제를 일으키는 이유는 Twitter 상태 ID가 32 비트 정수의 최대 값을 통과했기 때문입니다. 부호있는 32 비트 intger의 최대 값은 2,147,483,648이고 부호없는 32 비트 정수의 최대 값은 4,294,967,295입니다.

사용중인 라이브러리의 세부 사항을 모르지만 intval()을 다른 기능과 함께 사용하여 숫자가 아닌 문자를 걸러 낼 수 있습니다. 나는 filter_var($id, FILTER_SANITIZE_NUMBER_INT)을 사용하는 것을 고려할 것입니다.

+0

방금 ​​제안한 내용을 수정했습니다. 나에게 좋은 해결책 같고 잘 작동하는 것 같습니다. 대단히 감사합니다. – Douglas