Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sprawdzanie czy istnieje obrazek tworzony dynamicznie
Forum PHP.pl > Forum > PHP
shpyo
Mam pewien problem.
Dostaję w XMLu porcję danych. Jedną z tych danych jest id obrazka.
Problem jest tego typu, że po umieszczeniu tego w
Kod
http://adres-zewnetrzny.pl/?image.php=$id_obrazka
muszę sprawdzić czy rzeczywiście tam coś jest. Prawie mnie się udało to zrobić...
  1. <?php
  2. for( $i=0; $i<$intCount( $objXML ); $i++ ) //przejście przez wszystkie dane pobrane z XML'a
  3. {
  4.  $resImg = @imagecreatefromjpeg( 'http://adres-zewnetrzny.pl/?image.php?id='.$objXML->arrParams[$i]['id'] );
  5.  if( $resImg )
  6.  {
  7. //jesli jest to go pokazuję
  8.  }
  9. }
  10. ?>

Teraz jest najciekawsze. Gdy pod tym adresem nic nie, to funkcja wyrzuca błąd "Not a JPEG file: starts with 0x20 0xff Not a JPEG file: starts with 0x20 0xff". Tego nie mogę zlikwidować poprzez error_reporting( 0 ); oraz ini_set('display_errors','Off');

Próbowałem jeszcze z imagecreatefromgd2() wtedy jest ok, ale nie pokazuje obrazka w <img />

Zna ktoś jakąś sztuczkę aby to sprawdzić lub aby nie pokazywał tego błędu?
mike
Ja bym oparł się na: getimagesize()
  1. <?php
  2.  
  3. $path = 'http://adres-zewnetrzny.pl/?image.php?id='.$objXML->arrParams[$i]['id'];
  4. if (getimagesize($path) !== false) {
  5. echo '<img src="' . $path . '" />";
  6. }
  7.  
  8. ?>


P.S.
Silnik forum wstawił w złe miejsca cudzysłowy, ale będziesz wiedział o co chodzi tongue.gif
shpyo
Heh, działa winksmiley.jpg
Dzięki.
Też z getimagesize() kombinowałem ale w taki sposób i wywalało mi błąd:
  1. <?php
  2. $arrFile = getimagesize('http://adres-zewnetrzny.pl/?image.php?id='.$objXML->arrParams[$i]['id']);
  3. if ( $arrFile[0] ) {
  4. //pokazanie obrazka
  5. }
  6.  
  7. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.