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

ෆෝල්ඩරයක් ලබා දී ඇත. මෙම ෆෝල්ඩරයේ ඇති සෑම ගොනුවක අවසානයටම වර්තමාන වේලාව ලියන්න.