Как скопировать изображение твиттер-аккаунта на сервер? - PullRequest
2 голосов
/ 17 мая 2011

Я использую API Twitter для доступа к некоторым данным учетной записи. Было ясно, что вы можете легко получить изображение учетной записи в твиттере:

http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg

Однако, когда я пытаюсь скопировать () это изображение в PHP на мой локальный сервер, оно не работает. Кажется, вы даже не можете пропинговать адрес, так как «не удалось найти хост».

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

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

Проблема в том, что переменная 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).

0 голосов
/ 17 мая 2011
$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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...