Matrix_ Opublikowano 10 Czerwca 2016 Udostępnij Opublikowano 10 Czerwca 2016 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 Więcej opcji udostępniania...
ediepl Opublikowano 10 Czerwca 2016 Udostępnij Opublikowano 10 Czerwca 2016 $urltostr = file_get_contents('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY'); $jsdec = json_decode($urltostr,true); $jpgurl = $jsdec['url']; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matrix_ Opublikowano 10 Czerwca 2016 Autor Udostępnij Opublikowano 10 Czerwca 2016 $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 strona zwracała link do zdjęcia? Albo coś podobnego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 10 Czerwca 2016 Udostępnij Opublikowano 10 Czerwca 2016 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 Więcej opcji udostępniania...
Matrix_ Opublikowano 12 Czerwca 2016 Autor Udostępnij Opublikowano 12 Czerwca 2016 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 Więcej opcji udostępniania...
ediepl Opublikowano 13 Czerwca 2016 Udostępnij Opublikowano 13 Czerwca 2016 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 Więcej opcji udostępniania...
Markuz Opublikowano 13 Czerwca 2016 Udostępnij Opublikowano 13 Czerwca 2016 <?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 Więcej opcji udostępniania...
Matrix_ Opublikowano 13 Czerwca 2016 Autor Udostępnij Opublikowano 13 Czerwca 2016 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę