Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Wyswietlanie zdjec z katalogu
lukash82
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Witam. Wlasnie pracuje nad taka prosta galeria zdjec na strone. Zrobilem narazie wypisywanie katalogow z danego folderu i kazdy z nich jest linkiem. Wyglada to tak narazie:
  1. <?php
  2. $dir = 'zdjecia';
  3. $array = scandir($dir, 0);
  4. foreach ($array as $files)
  5. {
  6. if ( $files != '.' && $files != '..' )
  7. {
  8.  echo "<a href=".$files.">$files</a><br />";
  9. }
  10. }
  11. ?>

I teraz chcialbym aby po kliknieciu na ktorys z wynikow wyskakiwaly mi obrazki w nim zawarte. Narazie bez formatowania i wygladu. Jaka funkcje musze wykorzystac lub ewentualnie jakas podpowiedz jak sie za to zabrac. Pozdrawiam, Łukasz.

Ten post edytował lukash82 5.07.2007, 14:58:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
mrjozo
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


  1. <?php
  2. $dir = 'zdjecia';
  3. $array = scandir($dir, 0);
  4. foreach ($array as $files)
  5. {
  6. if ( $files != '.' && $files != '..' )
  7. {
  8.  echo "<a href="zdjecia.php?folder=$files">$files</a><br />";
  9. }
  10. }
  11. ?>


zdjecia.php
  1. <?php 
  2. $dir = $_GET['folder'];
  3.  
  4. if ($handle = opendir($dir)) {
  5. while (false !== ($file = readdir($handle))) { 
  6. if ($file != "." && $file != "..") { 
  7. echo "<img src="$file" />n"; 
  8. } 
  9. }
  10. closedir($handle); 
  11. }
  12. ?>


http://pl2.php.net/manual/pl/function.readdir.php
Go to the top of the page
+Quote Post
lukash82
post
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Witam ponownie. Dzieki za rozwiazanie. Wyglada dobrze ale niestety wywala mi blad typu:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in c:\usr\krasnal\www\probne\probne.php on line 8

i nie bardzo wiem o co mu chodzi bo bledu nie widze w tej linijce...:/
Go to the top of the page
+Quote Post
mrjozo
post
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


  1. <?php
  2. $dir = 'zdjecia';
  3. $array = scandir($dir, 0);
  4. foreach ($array as $files)
  5. {
  6. if ( $files != '.' && $files != '..' )
  7. {
  8.  echo "<a href="zdjecia.php?folder=$files">$files</a><br />";
  9. }
  10. }
  11. ?>
Go to the top of the page
+Quote Post
lukash82
post
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Dzieki mrjozo za cierpliwosc i pomoc ale jakzawsze mam pod gorke i kolejny blad. Tym razem w pliku zdjecia.php Wywala mi taki blad:


Warning: opendir(111) [function.opendir]: failed to open dir: Invalid argument in c:\usr\krasnal\www\probne\zdjecia.php on line 4

Zdjecia w tym katalogu sa ale z tego co rozumiem komunikat dotyczy klopotow z otwarciem tego katalogu...
Go to the top of the page
+Quote Post
mrjozo
post
Post #6





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


Sprawdź jaki folder otwierasz:

  1. <?php
  2. $dir = $_GET['folder'];
  3.  
  4. echo $dir; // jaki folder
  5. if ($handle = opendir('zdjecia/'.$dir)) { // , jesli foto masz w folderze zdjecia to do dir trzeba to dodac 
  6.  
  7. while (false !== ($file = readdir($handle))) { 
  8. if ($file != "." && $file != "..") { 
  9. echo "<img src="$file" />n"; 
  10. } 
  11. }
  12. closedir($handle); 
  13. }
  14. ?>
Go to the top of the page
+Quote Post
lukash82
post
Post #7





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Witam. Dalej mam problem z ta galeria. Nie wiem czemu po wybraniu katalogu ze zdjeciami nie chce mi ich wyswietlac. Tzn. tak jakby nie wchodzil do wybranego wczesniej katalogu tylko zostaje na tym samym poziomie. Cos jest chyba nie tak ze sciezkami dostepu ale juz probowalem chyba wszystkich kombinacji i dalej nie dziala:/ Po zmianach kod w pliku galeria wyglada tak:
  1. <?php
  2. $dir = 'zdjecia';
  3. $array = scandir($dir, 0);
  4. foreach ($array as $files)
  5. {
  6. if ( $files != '.' && $files != '..' )
  7. {
  8.  echo "<a href="zdjecia.php?folder=$files">$files</a><br />";
  9. }
  10. }
  11. ?>

a wyswietlanie zdjec tak:
  1. <?php 
  2. $dir = $_POST['folder'];
  3.  
  4. if ($katalog = opendir('zdjecia/'.$dir)) {
  5. while (false !== ($file = readdir($katalog))) { 
  6. if ($file != "." && $file != "..") { ?>
  7. <img src='<?php echo "$file.jpg"; ?>'>
  8. <?php
  9. } 
  10. }
  11. closedir($katalog); 
  12. }
  13. ?>

Moze ktos z Was znajdzie jakis blad w tym bo mi pomysly sie juz skonczyly:/ Pewnie jest to cos drobnego...:/ Pozdrawiam.

Ten post edytował lukash82 6.07.2007, 09:40:11
Go to the top of the page
+Quote Post
mrjozo
post
Post #8





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


Po pierwsze wysyłasz getem, więc tutaj ma byc
  1. <?php
  2. $dir = $_GET['folder'];
  3. $dir = 'zdjecia/'.$dir;
  4. ?>

pozatym tak jak mówiłem sprawdź jaki folder otwierasz:

echo $dir; // jaki folder i jesli masz błędy to napisz jaki błąd bo trudno wywróżyć co Ci nie działa

Ten post edytował mrjozo 6.07.2007, 10:17:37
Go to the top of the page
+Quote Post
lukash82
post
Post #9





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Ok. Znalazlem blad w sciezce i teraz juz wchodzi do odpowiedniego katalogu. Tylko zamiast obrazkow wyswietla takie standardowe kwadraty, tak jakby nie umial pobrac obrazkow. Jak sprawdzam wlasciwosci tech kwadratow to wskazuja dobra sciezke z odpowiednim rozszerzeniem. Czy trzeba jeszcze cos tam dolozyc w kodzie?
Teraz to wyglada tak:
  1. <?php 
  2. $dir = $_GET['folder'];
  3. if ($katalog = opendir('zdjecia/'.$dir.'/')) {
  4. while (false !== ($file = readdir($katalog))) { 
  5. if ($file != "." && $file != "..") { 
  6. echo "<img src=$dir/$file>";
  7. } 
  8. }
  9. closedir($katalog); 
  10. }
  11. ?>
Go to the top of the page
+Quote Post
mrjozo
post
Post #10





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


Coś misie wydaje, że jednak z tą ścieżką do obrazka coś nie tak... czy nie powienieneś tutaj mieć:
  1. <?php
  2. echo "<img src="zdjecia/$dir/$file">";
  3. ?>


Jesli wkleisz sciezke obrazka do paska adresu http://strona.pl/sciezka/do/obrazka/plik.jpg to powinien on sie otworzyc, jesli nie to cos ze sciezka nie tak
Go to the top of the page
+Quote Post
lukash82
post
Post #11





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Ok, teraz juz dziala. Zle szukalem bo pokazywalo mi plik, to znaczy ten kwadracik jaki sie pojawia standardowo przy wolnym laczu zanim przegladarka pobierze dany obrazek i myslalem, ze sciezka jest dobra. Teraz mam nadzieje, ze poleci juz z gorki, hehe. Dzieki mrozjo za cierpliwosc i pomoc. Pozdrawiam.
Go to the top of the page
+Quote Post
mike
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


W sumie problem rozwiązany i na dodatek wyjdzie że spamuję ale nie mogę patrzeć jak tkwicie w PHP4.
Poczytajcie jakie mechanizmy daje nam PHP5 w kwestii listowania folderów: Iteratory w PHP, czyli stare nowe SPL :: Lista plików w folderze
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: 22.08.2025 - 23:50