Tworząc swój startup NeverTooMuch.org, postanowiłem zintegrować go z serwisem blip.pl. Integracja polega na tym, że nowe zdjęcia pojawiające się w serwisie który tworzę mają również pojawiać się w serwisie BLIP wraz z odnośnikiem do mojej strony. Zastanawiałem się jak to rozwiązać, w sensie kiedy zdjęcie ma zostać przesłane do (co tu dużo ukrywać) mało wydajnego ostatnimi czasy blipa.
Postanowiłem umieścić tę funkcję zaraz po utworzeniu w moim kontrolerze dwóch plików (miniaturka + zdjęcie po wyostrzeniu i zmniejszeniu do określonych rozmiarów). Miniaturka, zapisująca się w folderze /media/pictures/foto_thumb/ jest oznaczona zmienną base($filename). To właśnie ten obrazek będziemy wysyłać do blipa.
Poniżej umieszczam rozwiązanie jakie zastosowałem:
...
$curl = curl_init();
$str = 'loginwBlipie:Hasł0d0blip4';
$str = base64_encode($str);
$str = 'Basic '.$str;
$head = array('Authorization: '.$str.'', 'X-Blip-API: 0.02', 'Accept: application/json');
$url = 'http://api.blip.pl/updates';
$fp = fopen('media/pictures/foto_thumb/'. basename($filename), 'r');
$data = array('update[body]' => 'Nowe zdjęcie na http://www.nevertoomuch.org/directory', 'update[picture]' => '@media/pictures/foto_thumb/'. basename($filename));
curl_setopt($curl, CURLOPT_HTTPHEADER, $head);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_INFILE, $fp);
curl_setopt($curl, CURLOPT_INFILESIZE, filesize('media/pictures/foto_thumb/'. basename($filename)));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$answer = curl_exec($curl);
$info = curl_getinfo($curl);
echo $info['http_code'];
curl_close($curl);
...
Może komuś się przyda.

Essentials http://dtonesj-cmv.ALLSTOCKSPORT.INFO/tag/Essentials+home+bar/ : Essentials…
home…
home
30 10 at 13:04