2009-12-17 4 views
1

J'utilise php-twitter (Billingham et al) pour jouer avec l'API Twitter et je me suis heurté à un mur en termes d'utilisation de la fonction showStatus. La plupart du temps, il ne montrait aucun statut et, lorsqu'il le faisait, il présentait les mauvaises statues. Après avoir beaucoup cogné la tête contre le mur, j'ai découvert que mon problème était que l'appel à intval() modifiait réellement les valeurs que je plaçais dans le paramètre showStatus $ id. Retrait intval() de la fonction semble avoir résolu le problème jusqu'à ce point.PHP-Twitter et Problèmes avec showStatus()

Est-ce que quelqu'un d'autre a rencontré ce problème? Je suis un peu nerveux à propos de la modification, est-ce la meilleure façon de faire?

+0

s'il vous plaît fournir le code avec votre question – Gordon

Répondre

1

La raison pour laquelle intval() est à l'origine de ce problème est que les ID d'état Twitter ont dépassé la valeur maximale pour un entier de 32 bits. La valeur maximale d'un intger 32 bits signé est 2 147 483 648 et le maximum pour un entier 32 bits non signé est 4 294 967 295.

Je ne connais pas les détails de la bibliothèque que vous utilisez, mais je remplacerais l'utilisation de intval() par une autre fonction pour filtrer les caractères non numériques. J'envisagerais d'utiliser filter_var($id, FILTER_SANITIZE_NUMBER_INT).

+0

Juste fait l'édition que vous avez suggéré. Cela me semble être une bonne solution et semble fonctionner correctement. Merci un million. – Douglas