Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kropki przy pobieraniu nazw pliku
Forum PHP.pl > Forum > Przedszkole
Nidan23
Mam skrypt, który pobiera pliki z folderu, a dokładniej ich nazwy. Wszystko działa cacy, tylko problem jest w tym, że oprócz prawidłowych nazw plików wstawia jakieś 2 inne opcje wyboru (jest to w tagu <select>). Pierwsza to "." a druga to "..". str_replace mija się z celem, ponieważ próbowałem i opcje wyboru dalej zostają a w dodatku usuwa kropkę przy rozszerzeniu pliku. Jakieś pomysły?

  1. <?php $log_directory = 'pimg';
  2.  
  3. $results_array = array();
  4.  
  5. if (is_dir($log_directory))
  6. {
  7. if ($handle = opendir($log_directory))
  8. {
  9. //Notice the parentheses I added:
  10. while(($file = readdir($handle)) !== FALSE)
  11. {
  12. $results_array[] = $file;
  13. }
  14. closedir($handle);
  15. }
  16. }
  17.  
  18. foreach($results_array as $value)
  19. {
  20. echo "<option value='".$value."'>".$value."</option>";
  21. }
  22. ?>
markuz
. oznacza bieżący katalog a .. katalog nadrzędny, wystarczy, że zrobisz if na te 2 przypadki bez żadnych wyrażeń regularnych.
viking
Zobacz przykłady zwłaszcza isDot
https://prophp.pl/advice/show/5/w_jaki_spos...alogow_w_php%3F
dublinka
  1. while(($file = readdir($handle)) !== FALSE)
  2. {
  3. if($file != "." && $file != "..")
  4. {
  5. $results_array[] = $file;
  6.  
  7. }
  8. }
kreatiff
Kolejna możliwość:
  1. $i = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS); // __DIR__ to folder, który mamy przeszukiwać
  2. while ($i->valid()) {
  3. echo $i->getFilename() . '<br>';
  4. $i->next();
  5. }

W ogóle tych iteratorów jest trochę, można nawet kombinować z zagnieżdżonymi katalogami.
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.