Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Kropki przy pobieraniu nazw pliku
Nidan23
post 20.07.2019, 15:08:58
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 2
Dołączył: 26.04.2019

Ostrzeżenie: (10%)
X----


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. ?>


Ten post edytował Nidan23 20.07.2019, 15:09:24
Go to the top of the page
+Quote Post
markuz
post 20.07.2019, 16:28:56
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


. oznacza bieżący katalog a .. katalog nadrzędny, wystarczy, że zrobisz if na te 2 przypadki bez żadnych wyrażeń regularnych.


--------------------
Go to the top of the page
+Quote Post
viking
post 20.07.2019, 19:17:19
Post #3





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Zobacz przykłady zwłaszcza isDot
https://prophp.pl/advice/show/5/w_jaki_spos...alogow_w_php%3F


--------------------
Go to the top of the page
+Quote Post
dublinka
post 21.07.2019, 07:01:51
Post #4





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


  1. while(($file = readdir($handle)) !== FALSE)
  2. {
  3. if($file != "." && $file != "..")
  4. {
  5. $results_array[] = $file;
  6.  
  7. }
  8. }


Ten post edytował dublinka 21.07.2019, 07:02:56


--------------------
Go to the top of the page
+Quote Post
kreatiff
post 21.07.2019, 11:08:52
Post #5





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


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.

Ten post edytował kreatiff 21.07.2019, 11:11:13
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 21:21