Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [problem] galeria zdjec z katalogu
damianm2007
post 16.03.2010, 23:43:48
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (20%)
X----


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.

Ten post edytował damianm2007 16.03.2010, 23:44:40
Go to the top of the page
+Quote Post
bogdan89
post 17.03.2010, 08:20:46
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.

Ten post edytował bogdan89 17.03.2010, 08:21:35
Go to the top of the page
+Quote Post
damianm2007
post 17.03.2010, 13:15:46
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (20%)
X----


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. ?>
Go to the top of the page
+Quote Post
bogdan89
post 17.03.2010, 14:54:14
Post #4





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
john_doe
post 17.03.2010, 15:18:16
Post #5





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


poszukaj na forum, ostatnio założyłem o tym wątek. Podałem pełne rozwiązanie.
Go to the top of the page
+Quote Post
damianm2007
post 17.03.2010, 15:28:32
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (20%)
X----


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
Go to the top of the page
+Quote Post
grzemach
post 18.03.2010, 08:02:37
Post #7





Grupa: Zarejestrowani
Postów: 121
Pomógł: 4
Dołączył: 9.06.2007
Skąd: Kielce

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 00:30