Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [problem] galeria zdjec z katalogu
damianm2007
post
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
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ć? (IMG:style_emoticons/default/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
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 (IMG:style_emoticons/default/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
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 (IMG:style_emoticons/default/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
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
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 (IMG:style_emoticons/default/smile.gif) może jestem głupi, że chce to zrobić przez get hehe ale nie wiem uczę się (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
grzemach
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 05:19