Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak pobrać obrazek z URL? i wrzucić do obróbki GD
abc
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.11.2004

Ostrzeżenie: (0%)
-----


Witam ostatnio bardzo mnie zaciekawił wasz artykuł na stronie głównej waszego wortalu o generowaniu obrazków w php o to link http://wortal.php.pl/wortal/artykuly/php/b...e_grafiki_w_php

Postanowiłem się więc pobawić.
To tak na początek muszę pobrać dany obrazek ale niestety aby mieć dostęp do nie go muszę być zalogowany więc korzystam z cURL i wysyłam zapytanie z cookie a w nim sesją. np. ścieżka jest taka http://kopernik.idl.pl/logo.jpg . Jak dobrze wiecie z cURL ściąga w stringu to ja ją ładuję do zmiennej i próbuje dać jako parametr do funkcji imagecreatefromjpeg($wynik) ale chyba nie jest to właściwe działanie. Właśnie nie wiem jak pobrać ten obraz z wyniku po cURL aby mógł wejść do imagecreatefromjpeg($wynik)? Też zauważyłem że cURL nie radzi sobie z ściąganiem i wyświetlaniem obrazków lepiej mu idzie z html i jak wyłączając transmisje do zmiennej ale na bezpośrednia transmisje to pokazywany jest tekst kod. Mysle że to jest obrazek ale w postaci bitów przesdstawionych w znaki. Jak zrobić żeby zmienna wynikowa po wykonaniu cURL można było użyć jako argumentu do imagecreatefromjpeg($wynik) lub innej lepszej funkcji graficznej?
  1. <?php
  2.  
  3.    $sesja="89b8638fd883e6cdc93340b954174038";
  4.        
  5.    $adres_obrazek="http://kopernik.idl.pl/logo.jpg";
  6.    $c = curl_init();
  7.    curl_setopt($c, CURLOPT_URL, $adres_obrazek);
  8.    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  9.    curl_setopt($c, CURLOPT_COOKIE, "sessionid=$sesja");
  10.  
  11.    $wynik=curl_exec($c);
  12.    curl_close;
  13.    $obrazek=imagecreatefromjpeg($wynik); // jak i co tu zrobić?
  14.  
  15.  
  16. header('Content-Type: image/jpeg');
  17. imagejpeg($obrazek);
  18. echo($obrazek);
  19. echo($wynik);
  20.  
  21. ?>


A i potem po późniejszej przeróbce będę chciał obrazek wyświetlić na razie nie mam na czym ćwiczyć ale czy ten nagłówek i funkcja imagejpeg($obrazek); zostałą prawidło napisana?



EDIT1

Dałem sobie rade znalazłem sposob na ominięcie ale uważam że to nie jest dobre rozwiązanie żeby zgrywać plik na dysk a potem go użyć do zgrywania do funkcji imagecreatefromjpeg() (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Czy nie można jakoś bezpośrednio z wyniku cURL przerobić na format do imagecreatefromjpeg() (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Załączam działający kod.


  1. <?php
  2.  
  3.    $sesja="89b8638fd883e6cdc93340b954174038";    
  4.    $adres_obrazek="http://kopernik.idl.pl/logo.jpg";
  5.    
  6.    $c = curl_init();
  7.    curl_setopt($c, CURLOPT_URL, $adres_obrazek);
  8.    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  9.    curl_setopt($c, CURLOPT_COOKIE, "sessionid=$sesja");
  10.  
  11.    $wynik=curl_exec($c);
  12.    curl_close;
  13.    $plik = fopen( 'obrazek.jpg', 'w');
  14.    fwrite($plik, $wynik);
  15.    
  16. $obrazek = imagecreatefromjpeg('obrazek.jpg');
  17. header("Content-Type: image/jpeg");
  18. imagejpeg($obrazek);
  19. imagedestroy($obrazek);
  20.  
  21. // echo($wynik);
  22. ?>


Ten post edytował abc 21.06.2009, 20:29:21
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 16:50