Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]is_file() w katalogach
Forum PHP.pl > Forum > Przedszkole
szajba7
Heja smile.gif
Mam pewnie banalny problem - napisalem prosta przegladarke zawartosci katalogow. Myk jest taki ze is_file() dobrze mi pokazuje pliki w katalogu macierzystym ze skryptem, ale jak juz gdzie sie zaglebie to 99% plikow (no, teoretycznie katalogi to tez pliki ;P) plikami nie jest - is_file() potrafi pokazac dwa, trzy pliki jako pliki, a reszte odrzuca. Patrzalem na bug'i, ale takiego z is_file() nie ma, to tez zwracam sie z prosba tutaj, bo cos przeoczylem...
Kawalek kodu odpowiedzialny za sprawdzanie:
  1. <?php
  2. if (!$sciecha) {
  3. $sciecha = getcwd();
  4. }
  5.  
  6. function poka($sciecha) {
  7. if ($uchwyt = opendir($sciecha)) {
  8. while (false !== ($plik = readdir($uchwyt))) {
  9. if ($plik != '.' && $plik != '..') {
  10. if (is_file($plik)) {
  11. echo '<br />PLIK -> n <a href="http://www.domena.pl/jakiskatalog/'.$plik.'">'.$plik.'</a>';
  12. }
  13. else {
  14. echo '<br />KATALOG -> n <a href="http://www.domena.pl/jakiskatalog/poka.php?sciecha='.$sciecha.'/'.$plik.'">'.$plik.'</a>';
  15. //i tutaj zamykanie nawiasow do konca i odpalenie funkcji
  16. ?>

Z gory dziekuje za zainteresowanie...
Strzałek
W php są iteratory które mają duże możliwości i powinno się ich używać.
http://null.phpfreaks.pl/biblioteka-standardowa-w-php5-cz-1
nospor
Cytat
ale jak juz gdzie sie zaglebie to 99% plikow

readdir zwraca tylko nazwe pliku. is_file() przyjmuje jako parametr cala sciezke do pliku. jak podasz mu tylko nazwe, to bedziesz szukal w katalogu biezacym. Ot i cala filozofia twojego bledu
szajba7
Strzałek: Dziekuje za zainteresowanie snitch.gif Niestety dzialam na php 4 i takie wspaniale rzeczy nie sa mi jeszcze pisane sad.gif

nospor: Dziekuje, nie mialem zupelnie pomyslu co moze byc problemem, znow nie doczytalem manuala pewnie (juz nadrabiam smile.gif). Dzieki !
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.