Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]PHP generowanie XML
Forum PHP.pl > Forum > Przedszkole
tomek00
Witam,

Problem polega na tym że mam galerie FLASH, która wyświetla zdjęcia, które są w danym katalogu, zdjęcia w tym katalogu nazywają sie 1.jpg, 2.jpg, 3.jpg...Itd. nawy tych zdjęć trzeba umieścić w pliku XML, i te które sa w nim umieszczenoe beda wyświetlana w naszej galerii. Mój problem polega na tym (męcze to juz od 2 dni, w google sa podpowiedzi ale moje PHP jest bardzo ale to bardzo .... smile.gif ) że potrzebuję skryptu, który sam wyciagnął by nazwy plików znajdujacych się w tym katalogu ze zdjęciami, i wrzucił to wszystko do tego XML-a wiem że to mozliwe i wiem że to dla kogos kto umie PHP to małe 5-cio minutowe piwko smile.gif tak czy owak byłbym bardzo wdzięczny za pomoc w tym smile.gif konstrukcja pliku XML wyglada bardzo prosto:


Kod
  <?xml version="1.0" encoding="UTF-8"?>
  
  <simpleviewergallery maxImageWidth="480" maxImageHeight="480"  textColor="0xOOOOOO" frameColor="0xOOOOOO" frameWidth="20"  stagePadding="40" navPadding="40" thumbnailColumns="3"  thumbnailRows="3" navPosition="left" vAlign="center" hAlign="center"  title="" enableRightClickOpen="true" backgroundImagePath="main.gif"  imagePath="" thumbPath="">
  
  <image>
  <filename>1.jpg</filename>
  <caption>opisik</caption>
  </image>
  
  <image>
  <filename>2.jpg</filename>
  <caption> opis</caption>
  </image>
  
  <image>
  <filename>3.jpg</filename>
  <caption> opis</caption>
  </image>
  
  </simpleviewergallery>


a ta część skryptu powtarza się tyle razy ile mamy zdjęć w galerii:
Kod
  <image>
  <filename>3.jpg</filename>
  <caption> opis</caption>
  </image>

gdzie X.jpg to nazwa zdjęcia.

Plik XML nazywa się galery.xml

Potrzebuje to zautomatyzować żeby zawartośc tego XMLa generowała sie automatycznie za pomoca jakiegos prostego skryptu PHP.

Powtarzam moja znajomośc PHP nie jest nawet podstawowa, dlatego wszelka pomoc będzie bardzo przydatna. załączę link do pobrania galerii żeby było qwiadomo oco kaman i link do przykładu działania.

http://www.portal12.nazwa.pl/galeria.rar - galeria do pobrania
http://www.fotostudio-aga.pl/galeria/sluby/ - Galeria do looknięcia.

Z góry dzieki za pomoc smile.gif wszystkim

PS. Na tym forum jest nowu, pisze po raz pierwszy mam nadzieję że w temacie zawarłem wszystko co potrzebne do rozwiazania problemu jak cos to mnie skrzyczec to dopiszę .
erix
  • popraw temat (tag)
  • wstaw bbcode

Cytat
wyciagnął by nazwy plików znajdujacych się w tym katalogu ze zdjęciami, i wrzucił to wszystko do tego XML-a wiem że to mozliwe i wiem że to dla kogos kto umie PHP to małe 5-cio minutowe piwko

DirectoryIterator: http://forum.php.pl/index.php?s=&showt...st&p=418356 + SimpleXML" title="Zobacz w manualu PHP" target="_manual. Jak zrobisz parę przykładów z podręcznika, to poradzisz sobie ze swoim problemem. winksmiley.jpg
tomek00
No ja za zielony na to jestem :/(albo za głupi biggrin.gif ) zrobiłem plik generator.php dodałem co swoje ale błędy wywala coś źle zrobiłem przsyłam kod:

Kod
<?
header('<?xml version="1.0" encoding="UTF-8"?>');
function rec_listFiles( $from = '.')
{
    if(! is_dir($from))
        return false;
  
    $files = array();
    if( $dh = opendir($from))
    {
        while( false !== ($file = readdir($dh)))
        {
            // Skip '.' and '..'
            if( $file == '.' || $file == '..')
                continue;
            $path = $from . '/' . $file;
            if( is_dir($path) )
                $files += rec_listFiles($path);
            else
                $files[] = $path;
        }
        closedir($dh);
    }
    return $files;
}
$tab = rec_listFiles( 'images' );
$c = count( $tab );
for( $a = 0; $a < $c; $a++ ) {

echo '<simpleviewergallery maxImageWidth="480" maxImageHeight="480" textColor="0xOOOOOO" frameColor="0xOOOOOO" frameWidth="20" stagePadding="40" navPadding="40" thumbnailColumns="3" thumbnailRows="3" navPosition="left" vAlign="center" hAlign="center" title="" enableRightClickOpen="true" backgroundImagePath="main.gif" imagePath="" thumbPath="">
<image>
<filename>'.$tab[$a].'</filename>
<caption> opis</caption>
</image>
</simpleviewergallery>
';
}



?>

Po odpaleniu pliku na serwerze zawartość xmla się nie zmienia wogole i pokazuje się cos takiego:

http://www.fotoaga.nazwa.pl/strona/komunie/generator.php
erix
Cytat
zrobiłem plik generator.php dodałem co swoje ale błędy wywala coś źle zrobiłem przsyłam kod:

A może jakieś konkrety?
tomek00
W kodzie napisałem zawartośc napisanego przezemnie pliku generator.php, ale wywala mi on błedy tj jesli mamy na początku header to pokazuje mi bład 500 serwera, natomiast gdy tego headera wywalam plik pokazuje zawartośc folderu z obrazami galerii, a potrzebuje przeciez wygenerowac takiego XMLa jak wyżej , szlag mnie zaraz trafi z tym php porąbanym biggrin.gif:D:D
erix
  1. header('<?xml version="1.0" encoding="UTF-8"?>');

Problem w tym, że pisząc ?> bezpośrednio przerywasz parsowanie. winksmiley.jpg

Poza tym, w kolorach nie ma litery "O".
tomek00
Maxik, dzięki za linki, biggrin.gif własnie o to mi chodziło z tym że to generuje oryginalny XML z simple Viewer ja natomiast ta galerią znacznie przerobiłem tj jej XMLA, i potrzebuje wygenerować tą samą metodą plik o nicoinne konstrukcji próbowałem ten buildgalery przerobić tez ale zamoootany strasznie biggrin.gif


erix przesyłam kod w pehapie i napisz mi prosze ocb z tym headerem bo nie kumie:) i o co chodzi z ta litera "O" i kolorowaniem smile.gif

Chłopaki naprawde jesli uda mi sie wygenerowac tego XML-a z waszą pomocą to bede wmam really dźwięczny smile.gif

  1. <?
  2.    
  3. header('<?xml version="1.0" encoding="UTF-8"?>');
  4.  
  5. echo '<simpleviewergallery maxImageWidth="480" maxImageHeight="480" textColor="0xOOOOOO" frameColor="0xOOOOOO" frameWidth="20" stagePadding="40" navPadding="40" thumbnailColumns="3" thumbnailRows="3" navPosition="left"  vAlign="center" hAlign="center"    title="" enableRightClickOpen="true" backgroundImagePath="main.gif" imagePath="" thumbPath="">';
  6. function rec_listFiles( $from = '.')
  7. {
  8.    if(! is_dir($from))
  9.        return false;
  10.  
  11.    $files = array();
  12.    if( $dh = opendir($from))
  13.    {
  14.        while( false !== ($file = readdir($dh)))
  15.        {
  16.            // Skip '.' and '..'
  17.            if( $file == '.' || $file == '..')
  18.                continue;
  19.            $path = $from . '/' . $file;
  20.            if( is_dir($path) )
  21.                $files += rec_listFiles($path);
  22.            else
  23.                $files[] = $path;
  24.        }
  25.        closedir($dh);
  26.    }
  27.    return $files;
  28. }
  29. $tab = rec_listFiles( 'images' );
  30. $c = count( $tab );
  31. for( $a = 0; $a < $c; $a++ ) {
  32. echo '<image>
  33. <filename>'.$tab[$a].'</filename>
  34. <caption> opis</caption>
  35. </image>';
  36. }
  37. echo'</simpleviewergallery>';
  38. ?>
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.