A mappa tartalmának elemzése PHP-ben

Tegyük fel, hogy van egy dir mappánk, amely fájlokat és almappákat tartalmaz.

Kapjuk meg a mappából az elnevezések tömbjét:

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

Ellenőrizzük minden egyes elnevezésről, hogy fájl vagy mappa:

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

Figyeljük meg, hogy a beolvasott mappa neve két helyen is szerepel a kódban. Ez nem túl kényelmes. Tegyük külön változóba:

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

Most minden fájlhoz jelenítsük meg a tartalmát:

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

Észrevehetjük, hogy a fájl elérési útja két alkalommal kerül kiszámításra. Tegyük ezt külön változóba:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    $path = $dir. '/' . $file; // az elérési út a fájlhoz
    
    if (is_file($path)) {
      echo file_get_contents($path);
    }
  }
?>
Задание 1

Adott egy mappa. Jelenítsd meg a képernyőn az ebbe a mappába tartozó almappák neveit oszlopban.

Задание 2

Adott egy mappa. Jelenítsd meg a képernyőn az ebbe a mappába tartozó fájlok neveit oszlopban.

Задание 3

Adott egy mappa. Írd minden fájl végébe az aktuális időpontot.