Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Galeria zdjęć
Forum PHP.pl > Forum > Przedszkole
zabcia92
Niedawno napisałam swoją galerię zdjęć. Miało być tak że pobiera miniaturki zdjęć z folderu zdjecia, a po kliknięciu na dane foto pokazuje się duże zdjęcie z możliwością powrotu do miniaturek, linkiem następne i poprzednie.

Kod
<html><head>
<title>Galeria</title>
</head>
<body>
<? //Skrypt do realizacji prostej galerii

   //odczyt zawartości katalogu
$katalog = opendir ('zdjecia');
$i=1;
while ($plik = readir ($katalog)) {
   if (ereg (".gif$|.jpg$, $plik)) {$zdjecia[$i++] = $plik;}
}
closedir ($katalog);

if (($_GET['nr']>0) && ($_GET['nr']<=count($zdjecia))) {
   print "<p align=ceneter>";
   if ($_GET['nr']>1) {
      print '<a href="galeria.php?nr='.($_GET['nr']-1);
      print '">Poprzednie</a>&nbsp;&nbsp;&nbsp; ';
   }
   print '<a href="galeria.php">Galeria</a>&nbsp;&nbsp;&nbsp;';
   if ($_GET['nr']<count($zdjecia)) {
      print '<a href="galeria.php?nr='.($_GET['nr']+1).'">Następny</a>';
   }
   print "</p><p align=center>";
   $nazwapliku = 'zdjecia/duze' .$zdjecia[$_GET['nr']];
   if (file_exists($nazwapliku)) {
      $rozmiar = getimagesize($nazwapliku);
      print '<img src='.$nazwapliku.' '.$rozmiar[3];
      print '></p>';
   } else {
      print "Brak dużego zdjęcia</p>";
   }

}  elseif (count($zdjecia)>0) { //jest przynajmniej jedno zdjęcie
    print '<h2>Galeria zdjęć</h2><p align=center>';
    for ($i=1; $i<=count($zdjecia); $i++) {
       $nazwapliku = 'zdjecia/' .$zdjecia[$i];
       $rozmiar = getimagesize($nazwapliku);
       print "<a href=\"galeria.php?nr=$i\">";
       print "<img src=\"$nazwapliku\" ".$rozmiar[3];
       print "border=0 hspace=10 wspace=1- align=absmiddle></a>";
   }
   print "</p>";
} else { //w katalogu nie ma zdjęć
   print "Katalog jest pusty";
}
?>

</body></html>

Tak wygląda cały kod. Ale wciąż jest jakiś błąd...
Czy ktoś mógłby mi pomóc? i sprawdzić co jest źle?
Master Miko
Tzn. jaki błąd? Pokazuje Ci php "blablalblal Error on line..", czy poprostu skrypt nie robi tego czego byś chciał?

btw: Zamiast robić:

  1. <?php
  2. $i=1;
  3. while ($plik = readir ($katalog)) {
  4.  if (ereg (".gif$|.jpg$, $plik)) {
  5.  $zdjecia[$i++] = $plik;}
  6. }
  7. ?>

zrób
  1. <?php
  2. while ($plik = readir ($katalog)) {
  3.  if (ereg (".gif$|.jpg$, $plik)) {
  4.  $zdjecia[] = $plik;}
  5. }
  6. ?>


Tylko po takiej zmianie pamiętaj, że index tablicy zaczyna się od 0 a nie od 1, chyba że to był efekt celowy...

Poza tym miłoby było gdybyś podał link...





EDIT -----
W przypadku COPY&PASTE CUDZE nie pomagam. Zamknąć TOPIC :|
phpion
Cytat(zabcia92 @ 21.06.2006, 15:32 ) *
Niedawno napisałam swoją galerię zdjęć.

"php 4 Cwiczenia praktyczne" wyd. Helion, str. 150. Jak ja nie lubie przypisywania sobie cudzych prac...
zabcia92
A ja nie powiedziałam że napisałam ją sama. Po za tym nie zgadłeś. To nie było php4 ćwiczenia praktyczne.
Chyba to nie zbrodnia korzystać z książek?


Cóż. Spróbuje coś z tym zrobić. Dzięki.
Podaję link : ta galeria
nasty
No strasznie fajna, jak ty ja zrobilas tongue.gif
Cytat
Parse error: syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/sites/yoyo.pl/k/l/klasa1cg/new/galeria/galeria.php on line 11
phpion
Faktycznie, sorry, zwracam honor. W "php 4 Cwiczenia praktyczne" nie sa uzywane $_GET['zmienna']. Poprawiam sie wiec: "php 5 Cwiczenia praktyczne" ale ktora strona to nie wiem. A co do tego kto jest autorem skryptu: napisalas, ze '...napisalam swoja...' co chyba jednoznacznie sugeruje, ze jestes autorka tegoz skryptu.
PS: w tej ksiazce jest mase bledow, wiele rozwiazan jest prosto z dupy, p. Andrzej Kierzkowski wali byka za bykiem winksmiley.jpg wiec sugeruje zmiane lektury. Nie chodzi mi tu o bledy w druku, ale np. ksiega gosci. Przy pewnej liczbie wpisow (chyba 10 z tego co pamietam) kasuje starsze wpisy, poza tym chyba wypisuje tylko po 255 znakow dla kazdego wpisu.
PS2: bronisz sie piszac, ze nie napisalas nigdzie, ze galerie zrobilas sama. Prosze wiec: napisz mi co w niej napisalas sama, poza zmiana 6-15.php na galeria.php (tak jest w "php 4..."); caly kd jest idealnie zerzniety, nawet komentarze. Moze niektorych wkurzac moje czepianie sie, no ale mysle, ze nie mozna tolerowac przypisywania sobie autorstwa cudzych skryptow. Rozumiem, ze gdy ktos zaczyna przygode z php cieszy go kazdy, nawet najmniejszy skrypcik, no ale nie tlumaczy to takie zachowania.
zabcia92
poprzez moja galerie rozumiem że to jest galeria na mojej stronie i jakby w pewnym sensie należy do mnie. Ale oczywiście nie powinnam przypisywać sobie jej autorstwa - tu ci zwracam honor. Ale skończmy już to. czy ktoś wie może jak możnaby poprawić wszystkie błędy jakie się tam pojawiają. (odkąd poprwiłam ten fragment, który mi podpowiedzieliście to tamten błąd zniknął ale pojawił się drugi). można te wszystkie błędy jakoś wyeliminować?
MissMoneypenny
Poprawiłam błędy i sprawdziłam na localhoście, u mnie teraz działa, więc powinno i u Ciebie.
  1. <html><head>
  2. <title>Galeria</title>
  3. </head>
  4. <body>
  5. <?php //Skrypt do realizacji prostej galerii
  6.  
  7.  //odczyt zawartości katalogu
  8. $katalog = opendir ('zdjecia');
  9. $i=1;
  10. while ($plik = readdir ($katalog)) {
  11.  if (ereg (".gif$|.jpg$", $plik)) {$zdjecia[$i++] = $plik;}
  12. }
  13. closedir ($katalog);
  14.  
  15. if (($_GET['nr']>0) && ($_GET['nr']<=count($zdjecia))) {
  16.  print "<p align=ceneter>";
  17.  if ($_GET['nr']>1) {
  18. print '<a href="galeria.php?nr='.($_GET['nr']-1);
  19. print '">Poprzednie</a> ';
  20.  }
  21.  print '<a href="galeria.php">Galeria</a>  ';
  22.  if ($_GET['nr']<count($zdjecia)) {
  23. print '<a href="galeria.php?nr='.($_GET['nr']+1).'">Następny</a>';
  24.  }
  25.  print "</p><p align=center>";
  26.  $nazwapliku = 'zdjecia/duze/' .$zdjecia[$_GET['nr']];
  27.  if (file_exists($nazwapliku)) {
  28. $rozmiar = getimagesize($nazwapliku);
  29. print '<img src='.$nazwapliku.' '.$rozmiar[3];
  30. print '></p>';
  31.  } else {
  32. print "Brak dużego zdjęcia</p>";
  33.  }
  34.  
  35. } elseif (count($zdjecia)>0) { //jest przynajmniej jedno zdjęcie
  36. print '<h2>Galeria zdjęć</h2><p align=center>';
  37. for ($i=1; $i<=count($zdjecia); $i++) {
  38.  $nazwapliku = 'zdjecia/' .$zdjecia[$i];
  39.  $rozmiar = getimagesize($nazwapliku);
  40.  print "<a href="galeria.php?nr=$i">";
  41.  print "<img src="$nazwapliku" ".$rozmiar[3];
  42.  print "border=0 hspace=10 wspace=1- align=absmiddle></a>";
  43.  }
  44.  print "</p>";
  45. } else { //w katalogu nie ma zdjęć
  46.  print "Katalog jest pusty";
  47. }
  48. ?>
  49.  
  50. </body></html>
zabcia92
wielkie dizeki! już sprawdzam!
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.