Анализирање садржаја директоријума у PHP

Нека нам је дат одређени директоријум dir, који у себи садржи и фајлове и директоријуме.

Хајде да добијемо низ имена из овог директоријума:

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

Хајде за свако име да проверимо, да ли је то фајл или директоријум:

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

Обратите пажњу на то што је име директоријума који скенирамо, написано на два места у коду. То није баш погодно. Издвојимо то име у засебну променљиву:

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

Хајде сада за све фајлове да испишемо на екран њихов садржај:

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

Може се приметити да се путања до фајла израчунава два пута. Хајде да је издвојимо у засебну променљиву:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    $path = $dir. '/' . $file; // путања до фајла
    
    if (is_file($path)) {
      echo file_get_contents($path);
    }
  }
?>
Задание 1

Дат је директоријум. Испишите на екран колону имена потдиректоријума из тог директоријума.

Задание 2

Дат је директоријум. Испишите на екран колону имена фајлова из тог директоријума.

Задание 3

Дат је директоријум. Запишите на крај сваког фајла тог директоријума тренутни моменат времена.