Analizirajmo sadržaj foldera u PHP-u

Recimo da imamo dati folder dir, koji sadrži i fajlove i podfoldere.

Hajde da dobijemo niz imena iz ovog foldera:

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

Hajde da proverimo za svako ime, da li je fajl ili folder:

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

Obratite pažnju na to da je ime foldera koji skeniramo, napisano na dva mesta u kodu. To nije baš zgodno. Izdvojimo to ime u posebnu promenljivu:

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

Hajde sada da za sve fajlove prikažemo na ekranu njihov sadržaj:

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žemo primetiti da se putanja do fajla izračunava dva puta. Hajde da je izdvojimo u posebnu promenljivu:

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

Dat je folder. Prikažite na ekranu kolonu imena podfoldera iz tog foldera.

Задание 2

Dat je folder. Prikažite na ekranu kolonu imena fajlova iz tog foldera.

Задание 3

Dat je folder. Upišite na kraj svakog fajla u tom folderu trenutni vremenski trenutak.