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

Бума берілген. Осы бумадағы әрбір файлдың соңына ағымдағы уақыт сәтің жазыңыз.