Как скопировать изображение учетной записи Twitter на сервер?

#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) в папке назначения.