Analizăm conținutul unui director în PHP

Să presupunem că avem un director dir, care conține atât fișiere, cât și directoare.

Să obținem un array cu numele din acest director:

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

Să verificăm pentru fiecare nume dacă este fișier sau director:

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

Observați că numele directorului pe care îl scanăm este scris în două locuri în cod. Acest lucru nu este foarte convenabil. Să scoatem acest nume într-o variabilă separată:

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

Acum să afișăm conținutul pentru toate fișierele:

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

Se poate observa că calea către fișier este calculată de două ori. Să o scoatem într-o variabilă separată:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    $path = $dir. '/' . $file; // calea către fișier
    
    if (is_file($path)) {
      echo file_get_contents($path);
    }
  }
?>
Задание 1

Este dat un director. Afișați pe ecran un nume de coloană subdirectoarelor din acest director.

Задание 2

Este dat un director. Afișați pe ecran un nume de coloană fișierelor din acest director.

Задание 3

Este dat un director. Scrieți la sfârșitul fiecărui fișier din acest director momentul curent de timp.