Analizowanie zawartości folderu w PHP

Załóżmy, że mamy dany pewien folder dir, zawierający zarówno pliki, jak i foldery.

Pobierzmy tablicę nazw z tego folderu:

php<?php
  $files = array_diff(scandir('dir'), ['..', '.']);
?>

Dla każdej nazwy sprawdźmy, czy to plik czy folder:

php<?php
  $files = array_diff(scandir('dir'), ['..', '.']);
  
  foreach ($files as $file) {
    echo $file;
    var_dump(is_file('dir/' . $file));
  }
?>

Zwróć uwagę, że nazwa folderu, który skanujemy, jest zapisana w dwóch miejscach kodu. To nie jest zbyt wygodne. Wyjmijmy tę nazwę do osobnej zmiennej:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    echo $file;
    var_dump(is_file($dir. '/' . $file));
  }
?>

Wyświetlmy teraz zawartość wszystkich plików na ekran:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    if (is_file($dir. '/' . $file)) {
      echo file_get_contents($dir. '/' . $file);
    }
  }
?>

Można zauważyć, że ścieżka do pliku jest obliczana dwa razy. Wyjmijmy ją do osobnej zmiennej:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    $path = $dir. '/' . $file; // ścieżka do pliku
    
    if (is_file($path)) {
      echo file_get_contents($path);
    }
  }
?>
Задание 1

Dany jest folder. Wyświetl na ekranie kolumnę nazw podfolderów z tego folderu.

Задание 2

Dany jest folder. Wyświetl na ekranie kolumnę nazw plików z tego folderu.

Задание 3

Dany jest folder. Dopisz na końcu każdego pliku w tym folderze bieżący moment czasu.