Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] odczyt nazw plików ze wskazanego folderu
Forum PHP.pl > Forum > Przedszkole
Zawleka
Witam.

Mógłby mi ktoś pomóc w tym zagadnieniu ?

Potrzebuje krótkiego skryptu, który będzie w stanie odczytać wszystkie nazwy plików jakie znajdują się w danym folderze,

a następnie je wywoła za pomocą echo.
fredzio90
  1. <?php
  2. function viewDirectory($dirname) {
  3. $c = '';
  4. if (!is_dir($dirname))
  5. return false;
  6. $dscan = array(realpath($dirname));
  7. $darr = array();
  8. while (!empty($dscan)) {
  9. $dcur = array_pop($dscan);
  10. $darr[] = $dcur;
  11. if ($d=opendir($dcur)) {
  12. while ($f=readdir($d)) {
  13. if ($f=='.' || $f=='..')
  14. continue;
  15. $f=$dcur.'/'.$f;
  16. if (is_dir($f))
  17. $dscan[] = $f;
  18. else
  19. $c .= $f.'<br>'; // x
  20.  
  21. }
  22. closedir($d);
  23. }
  24. }
  25. return $c;
  26. // x - w tym miejscu jest format wyświetlenia pojedyńczego 
  27. // pliku - w przykładzie to adres i znaczek entera <BR>
  28. }
  29. ?>
uli
Cytat(Zawleka @ 6.09.2007, 15:06:31 ) *
Witam.

Mógłby mi ktoś pomóc w tym zagadnieniu ?

Potrzebuje krótkiego skryptu, który będzie w stanie odczytać wszystkie nazwy plików jakie znajdują się w danym folderze,

a następnie je wywoła za pomocą echo.


Gugl: php +"zawartość katalogu"

http://porady.skryptoteka.pl/article.php?id=40

Straszne zagadnienie - chyba masz bana na gugla
redelek
Ja mam tak

  1. <?php
  2. $dir=opendir('bazy/');
  3. $file_list="<select name='baza' size='0'>";
  4. while($file_name=readdir($dir))
  5. {
  6. if(($file_name!=".")&&($file_name!=".."))
  7. {
  8. $file_list.="<option>$file_name";
  9. }
  10. }
  11. $file_list.="</option>"; closedir($dir);
  12. echo "$file_list";
  13. ?>
mike
Ludzie uczcie się PHP5. PHP4 z końcem roku idzie do kosza a Wy w starociach tkwicie.
Nie lepiej tak:
  1. <?php
  2.  
  3. foreach (new DirectoryIterator('dir') as $fileInfo) {
  4. echo $fileInfo->getFilename() . "\n";
  5. }
  6.  
  7. ?>
tongue.gif
Hazel
Zgadza się, i kod mike'a jest o około 40% szybszy przy zawartości katalogu 100 plików, sam do tej pory korzystałem z opendir() i readdir(), ale to już nie ma przyszłości. Polecam PHP5.
zachar
Cytat(mike @ 6.09.2007, 16:50:40 ) *
Ludzie uczcie się PHP5. PHP4 z końcem roku idzie do kosza a Wy w starociach tkwicie.
Nie lepiej tak:
  1. <?php
  2. foreach (new DirectoryIterator('dir') as $fileInfo) {
  3.    echo $fileInfo->getFilename() . &#092;"\n\";
  4. }
  5.  
  6. ?>

A co trzeba dodać aby wyświetlał tylko pliki o danym rozszerzeniu? Próbowałem dodać getextensions ale nie za bardzo wychodziło.Mogę to zawsze przypisać do tablicy i dalej na niej pracować ale chce zminimalizować wielkość kodu.
erix
Np. tak:

  1. <?php
  2. $e = $fileInfo->getFilename();
  3.  
  4. if(substr($e, strrpos($e, '.'))=='exe')){
  5.   //exec
  6. }
  7. ?>
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.