Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]mala galeria zdjec - pliki z folderu na serwerze
Forum PHP.pl > Forum > Przedszkole
17misiek09
tym razem mam kolejny problem :/

chodzi o to, ze chcialbym wczytywac zdjecia, ktore wrzucone juz sa do folderu upload do tabeli, ktora mialaby byc galeria...
tabela ktora bedzie miec dowolna ilosc wierszy - zalezne od ilosci zdjec oraz maks 3 kolumny do ktorych tez bylyby te zdjecia wrzucane.

czyli:
zdjecia wczytywane do tabeli - maksymalnie 3 zdjecia w wierszu - rozmiar zdjec 100px x 100px

chodzi mi o funkcje, ktora bedzie wczytywac zdjecia w takej formie jak opisalem...

do odczytu zdjec z folderu mam cos takiego:
  1. <?php
  2. $Lista = glob("./upload/*.*");
  3. foreach ($Lista as $Nazwa){
  4.  
  5.  
  6. echo '<a href="'.$Nazwa.'"><img src="'.$Nazwa.'" alt="" height="100" width="100" ></a>';
  7. // echo '<br>';
  8. }
  9. ?>


teraz jak to przerobic aby ladnie wstawialo do tabeli...
CuteOne
Nie znasz HTML?

google -> poradnik HTML tabele

a następnie

  1.  
  2. foreach ($Lista as $i => $Nazwa){
  3.  
  4. // kod
  5.  
  6. if($i%3 == 1) {
  7. // koniec wiersza
  8. }
  9. }
Lombi
To tylko schemat działania ale powinien podpowiedzieć smile.gif

  1. $Lista=array('nazwa1','nazwa2','nazwa3','nazwa4','nazwa5','nazwa6','nazwa7','nazwa8','nazwa9','nazwa10','nazwa11','nazwa12','nazwa13');
  2. $Ktore=1;
  3. foreach($Lista as $Nazwa)
  4. {
  5. echo '<a href="'.$Nazwa.'"><img src="'.$Nazwa.'" alt="" height="100" width="100" ></a>';
  6. if($Ktore==3)
  7. {
  8. echo '<br>';
  9. $Ktore=0;
  10. }
  11. $Ktore++;
  12. }
17misiek09
wink.gif nie liczylem na tak szybka odpowiedz wink.gif

obaj dostaniecie pomogl wink.gif

ale jeszcze jedno...nie zwiazane troche z tematem...
dlaczego zdjecia ktore ma ponad 500kb nie moge wrzucic na serwer?
upload.php

  1. <?php
  2.  
  3. $size = $_FILES['plik']['size'];
  4. $tmp = $_FILES['plik']['tmp_name'];
  5. $name = $_FILES['plik']['name'];
  6.  
  7.  
  8. $max_size=0; // Maksymalny rozmiar w bajtach
  9.  
  10. if(is_uploaded_file($tmp)) {
  11. move_uploaded_file($tmp, "upload/$name");
  12. echo 'Pomyslnie przeslano plik!<br/> Miał on rozmiar: '.$size.' bajty.<br/>';
  13. include "connect.php";
  14. $source = 'upload/'.$_FILES['plik']['name'];
  15. $sql="INSERT INTO zdjecia (sciezka)
  16. VALUES
  17. ('$source')";
  18.  
  19. if (!mysql_query($sql))
  20. {
  21. die('Błąd: ' . mysql_error());
  22. }
  23. echo "Plik został zapisany!<br>";
  24.  
  25.  
  26. echo "ścieżka do pliku: <a href='$source'>www.largo-stroza.hitowy.pl/$source</a>";
  27.  
  28. }
  29. else
  30. {
  31. echo 'error, nie przesłano pliku';
  32. }
  33.  
  34. ?>


pliki do 100kb wrzucam na luziku - wieksze - nie ma szans :/ przeciez nie ma ograniczenia...
CuteOne
jest w konfiguracji serwera/formularzu uploadu (maxsize). poszukaj na google pod tymi hasłami: php upload limit, php upload post limit
Lombi
Czasem jeszcze dostaje świra jak nie dasz w formularzu:

  1. <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
17misiek09
Cytat(CuteOne @ 26.01.2012, 23:38:31 ) *
jest w konfiguracji serwera/formularzu uploadu (maxsize). poszukaj na google pod tymi hasłami: php upload limit, php upload post limit


wyczytalem, ze jest limit 9MB.

bajka, to moge odpuscic...

jednak gryzie mnei ta galeria..

mam cos takiego:
  1. <?php
  2.  
  3. $katalog='./upload/';
  4. $kat=opendir($katalog);
  5. $ile=0;
  6.  
  7. while($plik=readdir($kat))
  8. {
  9. $ile++;
  10. }
  11.  
  12. $ileplikow = $ile - 2;
  13.  
  14. echo('Ilość plików: '.$ileplikow);
  15.  
  16. $Lista=glob("./upload/*.*");
  17.  
  18. echo '<table>';
  19. foreach($Lista as $Nazwa)
  20. {
  21.  
  22. echo '<td><a href="'.$Nazwa.'" rel="lightbox[roadtrip]"><img src="'.$Nazwa.'" alt="" height="100" width="100" ></a></td>';
  23. }
  24. echo '</table>';
  25. ?>


teraz jak wykorzystac $ileplikow, do funkcji...
jaka proponujecie?
for??
while??


bylby ktos laskaw poratowac mnie i napisac ja??:/ noga jestem pod tym wzgledem...

  1. <?php
  2.  
  3. $katalog='./upload/';
  4. $kat=opendir($katalog);
  5. $ile=0;
  6.  
  7. while($plik=readdir($kat))
  8. {
  9. $ile++;
  10. }
  11.  
  12. $ileplikow = $ile - 2;
  13.  
  14. echo('Ilość plików: '.$ileplikow);
  15. echo '<br/><br/>';
  16.  
  17. $Lista=glob("./upload/*.*");
  18.  
  19. foreach ($Lista as $i => $Nazwa){
  20.  
  21. echo '<tr><td><a href="'.$Nazwa.'" rel="lightbox[roadtrip]"><img src="'.$Nazwa.'" alt="" height="100" width="100" ></a></td>';
  22.  
  23. if($i%4 == 1) {
  24. echo '</tr>';
  25. }
  26. echo '</table>';
  27. }
  28.  
  29.  
  30. ?>


dziala jak nalezy wink.gif
dziekuje Wam slicznie exclamation.gif smile.gif zmienilem na 4 zdjecia, bo akurat w takim rozmiarze mieszcza sie 4 wink.gif
CuteOne
gotowiec z manuala

  1. <?php
  2. if ($handle = opendir('.')) {
  3. while (false !== ($entry = readdir($handle))) {
  4. if ($entry != "." && $entry != "..") {
  5. echo "$entry\n";
  6. }
  7. }
  8. closedir($handle);
  9. }
  10. ?>
Lombi
  1. $katalog='./upload/';
  2. $kat=opendir($katalog);
  3. $ile=0;
  4. while($plik=readdir($kat))
  5. {
  6. if($plik!="." && $plik!="..")
  7. {
  8. $Lista[]=$plik;
  9. $ile++;
  10. }
  11. }
  12. echo 'Ilość plików: '.$ile;
  13. echo '<table>';
  14. foreach($Lista as $Nazwa)
  15. {
  16. echo '<td><a href="'.$Nazwa.'" rel="lightbox[roadtrip]"><img src="'.$Nazwa.'" alt="" height="100" width="100" ></a></td>';
  17. }
  18. echo '</table>';


O nie zauważyłem ze CuteOne już napisał. Cóż masz i ode mnie smile.gif
17misiek09
Cytat(Lombi @ 27.01.2012, 00:07:08 ) *
  1. $katalog='./upload/';
  2. $kat=opendir($katalog);
  3. $ile=0;
  4. while($plik=readdir($kat))
  5. {
  6. if($plik!="."&&$plik!="..")
  7. {
  8. $Lista[] = $plik;
  9. $ile++;
  10. }
  11. }
  12. echo 'Ilość plików: '.$ile;
  13. echo '<table>';
  14. foreach($Lista as $Nazwa)
  15. {
  16. echo '<td><a href="'.$Nazwa.'" rel="lightbox[roadtrip]"><img src="'.$Nazwa.'" alt="" height="100" width="100" ></a></td>';
  17. }
  18. echo '</table>';


O nie zauważyłem ze CuteOne już napisał. Cóż masz i ode mnie smile.gif



niestety nie dziala :/ pospieszylem sie...nie dziala to wogole :/

wejdz i sam zobacz... galeria
Lombi
po 1 dodaj ścieżkę do
  1. echo '<td><a href="TU_MUSI_BYC_KATALOG_LUB_CALY_URL'.$Nazwa.'" rel="lightbox[roadtrip]"><img src="TU_MUSI_BYC_KATALOG_LUB_CALY_URL'.$Nazwa.'" alt="" height="100" width="100" ></a></td>';

po 2 usuń spacje z nazw plików (zamień na _ lub -)
po 3 ja użyłem kodu bez przełamywania wiersza po 4 fotkach więc i to popraw
po 4 zrób ludzkie miniaturki (z tego co widze to są przeskalowane kodem duże fotki)
17misiek09
Cytat(Lombi @ 27.01.2012, 00:22:55 ) *
po 1 dodaj ścieżkę do
  1. echo '<td><a href="TU_MUSI_BYC_KATALOG_LUB_CALY_URL'.$Nazwa.'" rel="lightbox[roadtrip]"><img src="TU_MUSI_BYC_KATALOG_LUB_CALY_URL'.$Nazwa.'" alt="" height="100" width="100" ></a></td>';

po 2 usuń spacje z nazw plików (zamień na _ lub -)
po 3 ja użyłem kodu bez przełamywania wiersza po 4 fotkach więc i to popraw



hmm ale zwroc uwage na to, ze to dziala:

  1. <?php
  2.  
  3. $katalog='./upload/';
  4. $kat=opendir($katalog);
  5. $ile=0;
  6.  
  7. while($plik=readdir($kat))
  8. {
  9. $ile++;
  10. }
  11.  
  12. $ileplikow = $ile - 2;
  13.  
  14. echo('Ilość plików: '.$ileplikow);
  15. echo '<br/><br/>';
  16.  
  17. $Lista=glob("./upload/*.*");
  18.  
  19. foreach ($Lista as $i => $Nazwa){
  20.  
  21. echo '<tr><td><a href="'.$Nazwa.'" rel="lightbox[roadtrip]"><img src="'.$Nazwa.'" alt="" height="100" width="100" ></a></td>';
  22.  
  23. if($i%4 == 1) {
  24. echo '</tr>';
  25. }
  26. echo '</table>';
  27. }
  28.  
  29.  
  30. ?>


tylko chcac dodac <table> gdzies na poczatku - nawet przed <?php to wtedy rozwala sie wszystko, a pasuje jakies odstepy zrobic miedzy fotkami...


sa przeskalowane, ale to nie przeszkadza przeciez w wyswietlaniu zdjec - tylko troche nieestetycznie moze wygladac :/ ale to pozniej - najpierw niech sie to nromalnie wyswietla...
Lombi
tak powinno być dobrze

  1. $katalog='./upload/';
  2. $kat=opendir($katalog);
  3. $ile=0;
  4. while($plik=readdir($kat))
  5. {
  6. if($plik!="." && $plik!="..")
  7. {
  8. $Lista[]=$plik;
  9. $ile++;
  10. }
  11. }
  12. echo 'Ilość plików: '.$ile; // tu można użyć poprostu count($Lista); i pozbyć się całkiem zmiennej $ile
  13. echo '<table>';
  14. $ktore=1;
  15. foreach($Lista as $Nazwa)
  16. {
  17. if($ktore==1) echo '<tr>';
  18. echo '<td><a href="upload/'.$Nazwa.'" rel="lightbox[roadtrip]"><img src="upload/'.$Nazwa.'" alt="" height="100" width="100" style="margin:5px;"></a></td>';
  19. if($ktore==4) // można tak jak proponował CuteOne i pozbyć się całkiem zmiennej $ktora
  20. {
  21. echo '</tr>';
  22. $ktore=0;
  23. }
  24. $ktore++;
  25. }
  26. echo '</table>';
17misiek09
od dzis klaniam Ci sie w kazdym swoim poscie exclamation.gif

dzieki ogromne exclamation.gif

dla CuteOne tez dziekuje smile.gif

@Lombi - jestes mega wytrwaly!! dziekuje!
Lombi
Aż się zaczerwieniłem smile.gif Cieszę się że pomogłem.
Nie jest to mistrzostwo świata, ale udoskonalać musisz już sobie sam. Znasz zasadę działania a o to chodziło smile.gif
17misiek09
musze sie jeszcze wieeeeeele nauczyc!! smile.gif

yahoo.gif super wink.gif dzieki!!

zgodnie z zaleceniami smile.gif galeria sprawdza ile zdjec jest w folderze miniatury i wyswietla je, a po kliknieciu wyswietla duze foto wink.gif

upload z miniaturkami do osobnego folderu wink.gif
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.