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

Папка берилди. Ушул папкадагы ар бир файлдын аягына учурдагы убакытты жазыңыз.