Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z foreach() i glob()
Forum PHP.pl > Forum > Przedszkole
kuba749
Mam problem z kodem który ma wyświetlić pliki o rozszeżeniach gif i jpg z katalogu wybieranego za pomocą zmiennej $_GET['kat'] po wejściu na strone avarat.php?kat=animowane (lub inna kategoria) nie wyświetla mi plików z katalogu, ale też nie wyżuca żadnych błędów. Prosze o pomoc
  1. <?
  2. $kat=$_GET['kat'];
  3. $katalog="./avarat/$kat/{*.gif, *.jpg}";
  4. foreach(glob($katalog) as $avarat){
  5. echo '<img src="' . $avarat . '">';
  6. echo '<input type="radio" name="avarat" value="' . $avarat . '">';
  7. }
  8. ?>
deirathe
lepiej użyć readdir() i za pomocą substr sprawdzać roszerzenie
kuba749
nie działa mi tylko jak jest ./avarat/$kat/ a jak wpisze ręcznie np. ./avarat/animowane/ to pokazuje
deirathe
no to spróbuj tak:
  1. <?
  2. $kat=$_GET['kat'];
  3. $katalog="./avarat/".$kat."/{*.gif, *.jpg}";
  4. foreach(glob($katalog) as $avarat){
  5. echo '<img src="' . $avarat . '">';
  6. echo '<input type="radio" name="avarat" value="' . $avarat . '">';
  7. }
  8. ?>
kuba749
też nic sad.gif
nospor
Cytat
nie działa mi tylko jak jest ./avarat/$kat/ a jak wpisze ręcznie np. ./avarat/animowane/ to pokazuje
blinksmiley.gif
No to chyba logiczne wiec, ze zmienna $kat nie zawiera tego co myslisz ze zawiera. Nad czym tu myslec.
  1. <?php
  2. $kat = 'animowane';
  3. $katalog="./avarat/$kat/{*.gif, *.jpg}";
  4. ?>
dziala? dziala.

  1. <?php
  2. $kat=$_GET['kat'];
  3. $katalog="./avarat/".$kat."/{*.gif, *.jpg}";
  4. echo $katalog;
  5. ?>
co wyswietla? To co powinno? Jak to co powinno, to ztrimuj jeszccze $kat, bo moze jakies biale znaki ci leca.
  1. <?php
  2. $kat=trim($_GET['kat']);
  3. $katalog="./avarat/".$kat."/{*.gif, *.jpg}";
  4. echo $katalog;
  5. ?>

Jak nie wyswietla tego co powinno, to czy oby napewno w url masz zmienna kat?
kuba749
sprawdziłem i zmienna kat zawierała to co miała zawierać, przy echo $katalog wyświetla się ścieżka ale
foreach(glob($katalog) as $avarat){
echo '<img src="' . $avarat . '">';
echo '<input type="radio" name="avarat" value="' . $avarat . '">';
}
i tak nie działa
deirathe
sprawa jasna
  1. <?php
  2. $kat="tpls";
  3. $katalog= $kat."/{*.tpl,*.jpg}";
  4. print_r(glob($katalog, GLOB_BRACE));
  5.  
  6. ?>

musisz dodać GLOB_BRACE i powinno śmigać

p.s. nie patrz na te slashe nie wiem czemu ale te forum mnie slashuje- czuje sie zaslashowany:p, a czasem mu sie odmienia- o co chodzi to nie wiem
kuba749
Dodałem i nic angrysmiley.gif
deirathe
Działa działa
  1. <?php
  2. $katalog="./tpls/{*.tpl, *.jpg}";
  3. foreach(glob($katalog, GLOB_BRACE) as $avarat){
  4. echo '<img src="' . $avarat . '">';
  5. echo '<input type="radio" name="avarat" value="' . $avarat . '">';
  6. }
  7. ?>

testowalem u siebie na serwerze na nazwie i homie i dziala
kuba749
ale ty masz tak
  1. <?php
  2. $katalog="./tpls/{*.tpl, *.jpg}";
  3. foreach(glob($katalog, GLOB_BRACE) as $avarat){
  4. echo '<img src="' . $avarat . '">';
  5. echo '<input type="radio" name="avarat" value="' . $avarat . '">';
  6. }
  7. ?>

a ja mam tak:
  1. <?
  2. $kat=trim($_GET['kat']);
  3. $katalog="./avarat/$kat/{*'gif, *.jpg}";
  4. foreach(glob($katalog, GLOB_BRACE) as $avarat){
  5. echo '<img src="' . $avarat . '">';
  6. echo '<input type="radio" name="avarat" value="' . $avarat . '">';
  7. }
  8. ?>
deirathe
Jak z dzieckiem:P:
  1. <?
  2. $kat=trim($_GET['kat']);
  3. $katalog="./avarat/".$kat."/{*.gif, *.jpg}";
  4. foreach(glob($katalog, GLOB_BRACE) as $avarat){
  5. echo '<img src="' . $avarat . '">';
  6. echo '<input type="radio" name="avarat" value="' . $avarat . '">';
  7. }
  8. ?>
kuba749
nie rozumiesz jak jest $katalog="./avarat/".$kat."/{*.gif, *.jpg}"; to nic nie daje już próbowałem angrysmiley.gif tongue.gif
deirathe
a czy teraz to skopiowałeś bo Panie miałeś błąd zamiast kropki miałeś przecinek tongue.gif a jak nie działa to nie działa i huh... uzyj sobie readdir i koniec
kuba749
chyba się pomyliłeś nie było nigdzie przecinka zamiast kropki tongue.gif

Zrobiłem i działa smile.gif
  1. <?
  2. $kat=trim($_GET['kat']);
  3. $kat1=$kat."/{*.gif, *.jpg}";
  4. $katalog="./avarat/".$kat1;
  5. foreach(glob($katalog, GLOB_BRACE) as $avarat){
  6. echo '<img src="' . $avarat . '"><br>';
  7. echo '<input type="radio" name="avarat" value="' . $avarat . '">';
  8. }
  9. ?>
deirathe
Cytat(kuba749 @ 29.06.2007, 15:58:57 ) *
[/php]
a ja mam tak:
  1. <?
  2. $kat=trim($_GET['kat']);
  3. $katalog="./avarat/$kat/{*'gif, *.jpg}";
  4. foreach(glob($katalog, GLOB_BRACE) as $avarat){
  5. echo '<img src="' . $avarat . '">';
  6. echo '<input type="radio" name="avarat" value="' . $avarat . '">';
  7. }
  8. ?>


no to sobie popatrz ^ i za podziękowania bym się nie obraziłtongue.gif
kuba749
sorry jest przecinek a i dzięki za pomoc smile.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.