#php #twitter
#php #Twitter
Вопрос:
Я использую Twitter api для доступа к некоторым данным учетной записи. Было ясно, что вы можете легко получить изображение учетной записи Twitter:
http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg
Однако, когда я пытаюсь скопировать () это изображение на PHP на мой локальный сервер, это не работает. Кажется, вы даже не можете пропинговать адрес, поскольку «не удалось найти хост».
Как я могу скопировать изображение учетной записи Twitter на мой локальный сервер?
Ответ №1:
$twitsImg ='http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg';
$twit=file_get_contents($twitsImg);
$new_img = basename($twitsImg);
file_put_contents($new_img,$twit);
Ответ №2:
Проблема, с которой вы столкнулись, заключается в том, что переменная php ini-file allow_url_fopen
отключена, как и должно быть. Для получения файла необходимо использовать cURL. cURL обычно установлен на веб-серверах по умолчанию. Этот пример работает на моем сайте:
<?php
function save_image($img,$path){
$ch = curl_init($img);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$data=curl_exec($ch);
curl_close ($ch);
if(file_exists($path)){
unlink($path);
}
$fp = fopen($path,'x');
fwrite($fp, $data);
fclose($fp);
}
save_image("http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg","up/file2.jpg");
?>
Также убедитесь, что у вас установлен правильный CHMOD (775) в папке назначения.