Memahami Isi Direktori dalam PHP

Misalkan kita memiliki suatu direktori dir, yang berisi baik file maupun folder.

Mari kita dapatkan array nama dari direktori ini:

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

Mari kita periksa untuk setiap nama, apakah ini file atau folder:

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

Perhatikan bahwa nama folder yang kita pindai, ditulis di dua tempat dalam kode. Ini kurang nyaman. Mari kita pindahkan nama ini ke variabel terpisah:

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

Sekarang mari kita tampilkan isi dari semua file ke layar:

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

Dapat diperhatikan bahwa path ke file dihitung dua kali. Mari kita pindahkan ke variabel terpisah:

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

Diberikan sebuah direktori. Tampilkan di layar kolom nama subdirektori dari direktori ini.

Задание 2

Diberikan sebuah direktori. Tampilkan di layar kolom nama file dari direktori ini.

Задание 3

Diberikan sebuah direktori. Tulis di akhir setiap file directori ini momen waktu saat ini.