Почему fopen создает разные файлы от звонков в Twitter, когда файл должен быть статичным? - PullRequest
0 голосов
/ 27 октября 2010

Я пытаюсь получить список пользователей Twitter, используя их API. Когда я запрашиваю API в своем браузере (http://api.twitter.com/1/statuses/followers.xml?screen_name=atomictom),, он возвращает документ XML со 100 пользователями, как и должно быть.

Однако при выполнении запроса из моего php-файла:

$file=fopen("http://api.twitter.com/1/statuses/followers.xml?screen_name=atomictom", "r");
$xmlString=fread($file,13421772);
fclose($file);
echo $xmlString; 

возвращает только 1, а иногда и 2 пользователя. Это на самом деле меняется, когда я обновляюсь! Любые идеи о том, почему это произойдет? Я подозреваю проблему с fopen или fread. К сожалению, в fread я не могу использовать размер файла ($ file), так как это ресурс, а не строка.

Большое спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 27 октября 2010

Вместо этого вы можете использовать file_get_contents(). Нет необходимости передавать ему размер файла arg, и он будет хорошо работать, если в вашем файле php.ini установлено allow_url_fopen = On.

<?php
    echo file_get_contents("http://api.twitter.com/1/statuses/followers.xml?screen_name=atomictom");
?>
0 голосов
/ 27 октября 2010

Вы уверены, что ваш код PHP вошел в систему? Кажется вероятным, что когда вы пробуете его из браузера, он использует ваш собственный cookie-файл, в который вы вошли, но ваш код PHP не имеет к нему доступа.

...