Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [problem] galeria zdjec z katalogu
Forum PHP.pl > Forum > PHP
damianm2007
Witam.
Jak w temacie.
Chcę napisać skrypcik który będzie pokazywał pliki graficzne z danego folderu np fotki mam coś takiego
  1. <?php
  2.  
  3. $image_url = "fotki/" ;
  4.  
  5. ?>
  6.  
  7. <img src="<?php echo $image_url; ?>" alt="" width="100" height="100">
  8.  


Domyślam się, że muszę coś dopisać ale co ? nie chce tablic itp... bo mnie to męczy chce to zrobić tak prosto jak się tylko da.
bogdan89
no niestety... jak chcesz to zrobić musisz nauczyć się pracować na tablicach, nie rozumem, jak one mogą męczyć? blink.gif

jak już się nauczysz korzystać z tablic to zapraszam do manuala PHP

funkcja która zapisuje do tablicy wszystkie pliki z folderu: scandir

wyświetlasz za pomocą pętli foreach wszystkie elementy tablicy, pomijając . i ..
tyle.
damianm2007
Tak to zrobiłem, jednak na tablicy smile.gif
  1.  
  2. <?php
  3.  
  4.  
  5. // tablica zawierajaca tablice z obrazkiem i opisem do niego
  6.  
  7.  
  8. $obraz[] = ('zima/Image00008.jpg');
  9. $obraz[] = ('zima/Image00009.jpg');
  10. $obraz[] = ('zima/Image00010.jpg');
  11. $obraz[] = ('zima/Image00011.jpg');
  12. $obraz[] = ('zima/Image00014.jpg');
  13. $obraz[] = ('zima/Image00015.jpg');
  14.  
  15.  
  16. // wybieramy element z tablicy
  17. $obraz = $obraz;
  18.  
  19. // wyswietlamy obrazek razem z opisem
  20.  
  21. foreach($obraz as $value) {
  22. echo "<div align=\"center\"><img src=\"$value\"\width='400' height='250'/><br /><br /></div>";
  23. }
  24.  
  25. ?>
bogdan89
Ale możesz to zrobić porządniej, z wykorzystaniem funkcji którą Ci podałem: scandir.
W manualu masz opis co zwraca ta funkcja i przykłady stosowania.

Ta funkcja da Ci w tablicy listę plików które masz w folderze.
przelatujesz tą tablicę szukając tylko tych zapisów, które mają rozszerzenie np.: jpg, a resztę wyrzucasz.
masz wtedy galerię działającą dynamicznie biggrin.gif i przy dodawaniu nowych zdjęć nie musisz wpisywać ich ręcznie do tablicy w PHP.

  1. $obraz = $obraz;

powyższy zapis jest zupełnie bez sensu. Wywal to.
john_doe
poszukaj na forum, ostatnio założyłem o tym wątek. Podałem pełne rozwiązanie.
damianm2007
Witam.
Już mniejsza o to może być tak jak zrobiłem usunąłem tylko to co nie jest potrzebne.
Teraz mam inny problem.. z przesłaniem obrazka za pomocą formularza przez _GET
Zrobione to jest tak:

  1. // tablica zawierajaca tablice z obrazkiem
  2.  
  3.  
  4. $obraz[] = ('wiosna/PICT0069.jpg');
  5.  
  6.  
  7. foreach($obraz as $obraz)
  8.  
  9.  
  10. {
  11. echo "<form method=\"get\" action=\"kartka.php\">
  12. <div align=\"center\"><a target=_blank href='$obraz'><img src=\"$obraz\"\width='400' height='250'/></a>
  13. <input type=\"text\" name=\"$obraz\" />
  14. <br />
  15. <input type='submit' value='wybieram'/>
  16. <br /></div>
  17.  
  18. </form>
  19. ";
  20. }
  21.  



w pliku kartka.php tak

  1. <?php
  2.  
  3. $obraz = $_GET["obraz"];
  4.  
  5. echo" <td>obraz $obraz</td>";
  6.  
  7.  
  8.  
  9. ?>
  10.  


W adresie mam nazwę pliku: kartka.php?wiosna%2FPICT0069.jpg=
więc się przesyła do kartka.php formularzem
ale na stronie biało smile.gif może jestem głupi, że chce to zrobić przez get hehe ale nie wiem uczę się biggrin.gif
grzemach
co pragniesz zrobić? bo nie rozumiem... galerie? czyli masz miniatury i później po jej kliknięciu pojawia się duże zdjęcie? po co w tym jest formularz?

Nie prościej by było:
  1. $folder_handle = opendir('jakis_folder');
  2. $obrazki[] = array();
  3. while(($filename = readdir($folder_handle)) !== false) {
  4. if($filename != '.' && $filename != '..' ){
  5. $obrazki[] = $filename;
  6. }
  7. }
  8. closedir($folder_handle);
  9.  
  10. foreach($obrazki as $obrazek){
  11. echo '<a href="katalog/'.$obrazek.'"><img src="katalog/'.$obrazek.'" alt="" style="width: 150px;"/></a>
  12. }

To Ci wyświetli wszystkie obrazki w danym katalogu, wraz z miniaturkami i do tego linki do dużych obrazków.

ps. miniaturki to nie miniaturki, a duże zdjęcia którą są zeskalowane, jest to rozwiązanie nie optymalne i trzeba by zrobić faktyczne miniaturki, a aby to zrobić (w tej wersji) możesz dorobić drugi katalog z nazwą katalog_mini/ i w nim dać dokładnie takie same nazwy obrazków jak w katalogu głównym
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.