PHP-də qovluq məzmununun təhlili

Tutaq ki, bizə həm faylları, həm də qovluqları özündə saxlayan müəyyən bir dir qovluğu verilib.

Gəlin bu qovluqdan adlar massivi əldə edək:

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

Gəlin hər bir ad üçün yoxlayaq, bu fayldır yoxsa qovluq:

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

Diqqət yetirin ki, skan etdiyimiz qovluğun adı kodda iki yerdə yazılıb. Bu çox rahat deyil. Gəlin bu adı ayrı bir dəyişənə çıxaraq:

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

Gəlin indi bütün fayllar üçün onların məzmununu ekranda çap edək:

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

Qeyd etmək olar ki, faylın yolu iki dəfə hesablanır. Gəlin onu ayrı bir dəyişənə çıxaraq:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    $path = $dir. '/' . $file; // faylın yolu
    
    if (is_file($path)) {
      echo file_get_contents($path);
    }
  }
?>
Задание 1

Bir qovluq verilib. Bu qovluqdakı alt qovluqların adlarını sütun şəklində ekranda çap edin.

Задание 2

Bir qovluq verilib. Bu qovluqdakı faylların adlarını sütun şəklində ekranda çap edin.

Задание 3

Bir qovluq verilib. Bu qovluqdakı hər bir faylın sonuna cari zaman anını əlavə edin.