Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Problem z wyświetleniem zdjęć, z pliku XML.

Zdecydowałeś się na tworzenie interaktywnych stron przy pomocy PHP? Chcesz w łatwy i szybki sposób zarządzać danymi na swojej stronie? Tutaj znajdziesz pomoc w napotkanych przy tym trudnościach.

Problem z wyświetleniem zdjęć, z pliku XML.

Post 17.04.2017, 20:28:08

Witam, programistów. Piszę na forum ponieważ dopiero zaczynam swoją przygodę z PHP-em a przyszło mi wykonać parser dla pliku XML, który jest generowany przez program komorniczy. Sęk w tym, że udało mi się pobrać i wyświetlić z niego 85% danych przy pomocy forech. W pliku XML znajdują się również zdjęcia. Na tą chwilę udało mi się wyświetlić pierwsze zdjęcie w strukturze, zamieniłem ciąg znaków przy pomocy funkcji imagecreatefromstring. To z czym nie potrafię sobie poradzić to dorobienie zdaje mi się pętli, tak aby wyświetlić wszystkie zdjęcia znajdujące się w gałęzi <Zalaczniki> pliku XML i wyświetlenie ich.

Link do pliku XML ze strukturą oraz parsera:
https://1drv.ms/f/s!AmneeFd7JMXngasc9crr0P-Qn4NRhA

Schemat działania jest taki:
Plik parser.php pobiera i wyświetla dane z pliku XML.
Plik img-ruchomosci.php pobiera z pliku XML ciąg znaków i przy pomocy funkcji imagecreatefromstring wyświetla złożone zdjęcie niestety tylko jedno choć jest ich kilka, za diabła nie wiem jak tym zakręcić aby wyświetlił wszystkie zdjęcia być może trzeba przekazać jakąś zmienną choć w plik XML brak atrybutu np. ID. Za wszelką pomoc i podpowiedzi z góry dziękuje!

Plik parser.php:
Kod: Zaznacz cały
<?php
libxml_use_internal_errors(true);

$xml = simplexml_load_file('./licytacja-r-full.xml');

if (!$xml){
$errors = libxml_get_errors();
    foreach($errors as $error){
       echo $error->message,'<br/>';
    }
}
else {

   foreach($xml -> ProjektLicytacji -> LicytacjaRuchomosci as $lr) {

// dane ogólne

    foreach ($lr -> DaneOgolne as $do) {
                echo '<b>Sygnatura Sprawy:</b> '.$do -> SygnaturaSprawy.'<br/><br/>';

// lista dłużników

    foreach ($do -> ListaDluznikow as $lista_d) {
        foreach ($lista_d -> Dluznik as $dluznik) {
                echo '<b>Nazwa dłużnika:</b> '.$dluznik -> Nazwa.'<br/>Adres:<br/>';
                      echo '<b>Ulica:</b> '.$dluznik -> Adres -> Ulica.'<br/>';
                      echo '<b>Nr. Domu:</b> '.$dluznik -> Adres -> NumerDomu.'<br/>';
                      echo '<b>Kod Pocztowy:</b> '.$dluznik -> Adres -> KodPocztowy.'<br/>';
                      echo '<b>Miejscowość:</b> '.$dluznik -> Adres -> Miejscowosc.'<br/>';
                      echo '<b>Poczta:</b> '.$dluznik -> Adres -> Poczta.'<br/>';
                      echo '<b>Województwo:</b> '.$dluznik -> Adres -> Wojewodztwo.'<br/><br/>';
              }
            }
                echo '<b>Termin Licytacji:</b> '.$do -> TerminLicytacji.'<br/>';
                echo '<b>Typ Licytacji:</b> '.$do -> TypLicytacji.'<br/>';
                echo '<b>VAT:</b> '.$do -> VAT.'<br/>';
                echo '<b>Wpłata Rękojmi:</b> '.$do -> WplataRekojmi.'<br/>';
                echo '<b>Rodzaj / Miejsce Licytacji:</b> '.$do -> RodzajMiejsceLicytacji.'<br/>';
                echo '<b>NOW 2012:</b> '.$do -> now2012.'<br/>';
              }

// koniec "danych ogólnych" początek "listy ruchomości"

    foreach ($lr -> ListaRuchomosci as $lista_r) {
        foreach ($lista_r -> Ruchomosc as $ruchomosc) {
                echo '<br/><b>Kategoria Ruchomości:</b> '.$ruchomosc['kategoriaRuchomosci'].'<b> LP:</b> '.$ruchomosc['lp'].'<br/>';
                echo '<b>Opis:</b> '.$ruchomosc -> Opis.'<br/>';
                echo 'Dodatkowy Opis: '.$ruchomosc -> DodatkowyOpis.'<br/>';
                echo 'Ilość: '.$ruchomosc -> Ilosc.'<br/><b>Kwoty:</b><br/>';
                      echo '-Oszacowanie: '.$ruchomosc -> Kwoty -> Oszacowanie.'zł<br/>';
                      echo '-Wywołanie: '.$ruchomosc -> Kwoty -> Wywolanie.'zł<br/><b>Zdjęcie:</b><br/> ';

// zdjęcia i tu się zaczyna moja niewiedza!

                echo '<img src="./img-ruchomosci.php"></img>';
      }
    }
  }
}

?>


Plik img-ruchomosci.php:
Kod: Zaznacz cały
<?php

libxml_use_internal_errors(true);

$xml = simplexml_load_file('./licytacja-r-full.xml');

if (!$xml){
$errors = libxml_get_errors();
    foreach($errors as $error){
       echo $error->message,'<br/>';
    }
}
else {

foreach($xml -> ProjektLicytacji -> LicytacjaRuchomosci as $lr) {
   foreach ($lr -> ListaRuchomosci as $lista_r) {
        foreach ($lista_r -> Ruchomosc as $ruchomosc) {
         
         foreach ($ruchomosc -> Zalaczniki -> Zalacznik as $data){

         $data = base64_decode($data);
         $im = imagecreatefromstring($data);
         header('Content-Type: image/png');
          imagepng($im);
          imagedestroy($im);
               }
            }
         }
      }
   }
?>
Zaraz zasnę i w klawiaturę głową trzasnę!
Avatar użytkownikamondertnt
Paweł

Posty: 10
Dołączył(a): 08.05.2011
Lokalizacja: Grudziądz

Powrót do PHP i bazy danych


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości

Hosting, Domeny, SSL
iCash

Subskrypcja

Mamy 50042 zarejestrowanych użytkowników.
Najnowszy użytkownik: RichardLix


Nasi użytkownicy napisali:

  • 934668 wiadomości
  • w 246201 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)