Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Nie wyświetlają sie obrazki
Forum PHP.pl > Forum > Przedszkole
Arsanael
Mam kod:

  1. <?php
  2. if ($_GET['galeria'] == 'pokaz')
  3. {
  4.    print '<center><b>Twoja Galeria Zdjęć</b></center><br>';
  5.    $data_sesion = $_SESSION["user"];
  6.    $od = openDir('miniaturki/'.$data_sesion.'/');
  7.    if(!$od) return false;
  8.    $ilosc = -2;
  9.    while(readDir($od) !== false){
  10.    $ilosc++;
  11.    }
  12.    closeDir($od);
  13.    echo "<center><b><font size='2'>( W swojej galerii masz aktualnie <font color='red'>$ilosc</font> zdjęć     )</font></b></center><br><br>";
  14.    $t=1 ;
  15.        if ($handle = opendir('miniaturki/'.$data_sesion.'/'))
  16.            {
  17.        if ($handle2 = opendir('profil/'.$data_sesion.'/'))
  18.            {
  19.                        while (false !== ($file = readdir($handle)))
  20.                            {
  21.                        while (false !== ($file2 = readdir($handle2)))
  22.                            {
  23.                                    if ($file != "." && $file != ".." && $file != "index.html")
  24.                                        {
  25.                                        echo "<a href='profil/$data_sesion/$file2/'><img                                         src='miniaturki/$data_sesion/$file'                                                           width=150 height=100></a>";
  26.                                        if ($t % 3 == 0) echo '<br /><br />';
  27.                                                $t++;
  28.                    }
  29.                }
  30.  
  31.            }
  32.    }
  33.   }
  34.            closedir($handle);
  35.        closedir($handle2);
  36. }
  37. ?>




Nie zwraca zadnego błędu ale obrazki sie nie pokazują, nie wiem co jest grane prosze pomoc.
erix
Nie masz żadnych błędów w składni?

Poza tym, po co tyle pętli zagnieżdżonych...?
Arsanael
1 pętla od sprawdzania ilości plików w folderze a pozostałe 2 pobierają nazwy plików z 2 folderow. Nie wiem co jest nie tak, nie wywala zadnego błędu składni, nic, po prostu obrazki sie nie pokazują ;/
erix
  1. a dlaczego nie możesz pobrać tej nazwy z którejś pętli, tylko wywołujesz ją dodatkowo?
  2. albo mi się wydaje, albo wywołujesz coś rekursywnie; coś mi nie pasuje ten kod pod względem logicznym...

Może przybliż nieco zasadę działania wraz ze strukturą katalogów?
Arsanael
Katalogi :
/profil/id_usera/zdjęcia
/miniaturki/id_usera/zdjecia

Id usera to zmienna $data_sesion
wiec wychodzi np. /profil/4/zdj.gif


Działanie?
Hmm pierwsza pętla jest po to aby pozyskać ilość plików w katalogu. To działa bez zarzutu. Potem chciałem zrobić pętle i wyświetlać pliki wkładając do zmiennej jej nazwę i wyświetlając. Są 2 pętle bo: jedna bierze nazwy z miniaturek i wyświetla je w <img src... > a druga pętla wklada do zmiennej nazwe normalnego obrazka i do tego wlasciwego zdjęcia jest odnośnik.
behu
Nie lepiej skorzystać z DirectoryIterator?

np. tak:

  1. <?php
  2. if ($_GET['galeria'] == 'pokaz'){
  3.    $data_sesion = $_SESSION["user"];
  4.    $katalog_miniaturki = 'miniaturki/'.$data_sesion.'/';
  5.    $katalog_profil = 'profil/'.$data_sesion.'/';
  6.  
  7.    $handle = new DirectoryIterator($katalog_miniaturki);
  8.    foreach($handle as $file){
  9.        if(!$file->isDot() && !$file->isDir() && $file->getFilename()!='index.html'){
  10.            $miniaturki[] = $file->getFilename();
  11.        }
  12.    }
  13.    
  14.    $handle2 = new DirectoryIterator($katalog_profil);
  15.    foreach($handle2 as $file2){
  16.        if(!$file2->isDot() && !$file2->isDir() && $file2->getFilename()!='index.html'){
  17.            $profil[] = $file2->getFilename();
  18.        }
  19.    }
  20.    
  21.    
  22.    echo "<center><b><font size='2'>( W swojej galerii masz aktualnie <font color='red'>".count($miniaturki)."</font> zdjęć)</font></b></center><br><br>";
  23.    
  24.    for($x=0;$x<count($miniaturki);$x++){
  25.        echo '<a href="profil/'.$data_sesion.'/'.$profil[$x].'"><img src="miniaturki/'.$data_sesion.'/'.$miniaturki[$x].'" width=150 height=100></a>';
  26.        if(($x > 0) && ($x % 3 == 0))
  27.            echo '<br /><br />';
  28.    }    
  29. }
  30. ?>



ps. pisane z głowy, nie sprawdzałem
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.