Analiza vsebine mape v PHP

Recimo, da imamo dano neko mapo dir, ki vsebuje tako datoteke kot mape.

Pridobimo polje imen iz te mape:

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

Preverimo za vsako ime, ali je to datoteka ali mapa:

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

Opozorilo: ime mape, ki jo skeniramo, je zapisano na dveh mestih kode. To ni zelo priročno. Postavimo to ime v ločeno spremenljivko:

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

Zdaj pa za vse datoteke izpišimo ekran njihovo vsebino:

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

Opazimo lahko, da se pot do datoteke izračuna dvakrat. Postavimo jo v ločeno spremenljivko:

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

Dana je mapa. Izpišite na ekran stolpec imen podmap iz te mape.

Задание 2

Dana je mapa. Izpišite na ekran stolpec imen datotek iz te mape.

Задание 3

Dana je mapa. Zapišite na konec vsake datoteke te mape trenutni časovni trenutek.