Skocz do zawartości

HTML/PHP odczyt obrazka ze strony


Matrix_

Rekomendowane odpowiedzi

Cześć,

słuchajcie jest taka strona http://apod.nasa.gov/apod/astropix.html i potrzebowałbym mieć zdjęcie tego APOD-a. Zawsze aktualne oczywiście :P

Jest http://apod.oa.uj.edu.pl/apod.jpg - może jest to aktualne ale troszkę za małe...

 

Znalazłem takie coś:

https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY

 

Jeśli dobrze rozpoznaje to jest JSON:

Próbowałem coś robić z:

GML
json_decode(file_get_contents('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY'););

Ale nie znam się za bardzo na jsonie

 

Albo jakiś sposób na zrobienie include strony, ale wywalając cały jego tekst?

Odnośnik do komentarza
Udostępnij na innych stronach

$urltostr = file_get_contents('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY');

$jsdec = json_decode($urltostr,true);

$jpgurl = $jsdec['url'];

 

dzięki wielkie, próbowałem takiego czegoś, ale true zabrakło

 

A da się zrobić, żeby np. tutaj na forum po zrobieniu:

GML
imagetaker.php#image

strona zwracała link do zdjęcia? Albo coś podobnego?

Odnośnik do komentarza
Udostępnij na innych stronach

Znalazłem coś takiego

<?php
// open the file in a binary mode
$name = './img/ok.png';
$fp = fopen($name, 'rb');

// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// dump the picture and stop the script
fpassthru($fp);
exit;
?>

Odnośnik do komentarza
Udostępnij na innych stronach

GML
<?php

// open the file in a binary mode

$urltostr = file_get_contents('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY');

 

$jsdec = json_decode($urltostr,true);

 

$jpgurl = $jsdec['url'];

 

$name = $jpgurl;

$fp = fopen($name, 'rb');

 

// send the right headers

header("Content-Type: image/jpeg");

header("Content-Length: " . filesize($name));

 

// dump the picture and stop the script

fpassthru($fp);

exit;

?>

 

To nie chce działać. Nie wiem czemu.. Przecież $jpgurl to zwykła ścieżka zdjęcia. To samo co "/images/zdjecie.jpeg"...

Chyba że on nie moze otworzyć pliku poza stroną...

Odnośnik do komentarza
Udostępnij na innych stronach

Przy takim czymś fopen wywali chyba błąd, nie możesz otworzyć pliku z zewnętrznego serwera. Co chcesz dokładnie zrobić?

 

E: zamiast fopen możesz użyć file_get_contents

 

E2: Tylko filesize też nie będzie działać, więc może lepiej było by skopiować obrazek na twój serwer, albo użyć curl chyba najlepsza opcja.

Odnośnik do komentarza
Udostępnij na innych stronach

<?php
$data = file_get_contents('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY');
$options = json_decode($data, true);
$image = file_get_contents($options['url']);
$imageRes = imagecreatefromstring($image);
header('Content-Type: image/jpeg');
imagejpeg($imageRes);
imagedestroy($imageRes);

Odnośnik do komentarza
Udostępnij na innych stronach

Przy takim czymś fopen wywali chyba błąd, nie możesz otworzyć pliku z zewnętrznego serwera. Co chcesz dokładnie zrobić?

 

E: zamiast fopen możesz użyć file_get_contents

 

E2: Tylko filesize też nie będzie działać, więc może lepiej było by skopiować obrazek na twój serwer, albo użyć curl chyba najlepsza opcja.

 

Właśnie tak myślałem, że to problem z tym, że to jest zewnętrzne zdjęcie... Ale nie chce mi się na razie ogarniać PHP to nie wiedziałem czym to zastąpić :P

Dzięki za pomoc...

 

<?php
$data = file_get_contents('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY');
$options = json_decode($data, true);
$image = file_get_contents($options['url']);
$imageRes = imagecreatefromstring($image);
header('Content-Type: image/jpeg');
imagejpeg($imageRes);
imagedestroy($imageRes);

 

Dzięki! Właśnie o to mi chodziło!

Super :P

thank-you-note.jpg

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...