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

მოცემულია დირექტორია. ჩაწერეთ თითოეული ფაილის ბოლოს ამ დირექტორიის მიმდინარე დრო.