Analisis Kandungan Folder dalam PHP

Katakan kita mempunyai sebuah folder dir, yang mengandungi kedua-dua fail dan folder di dalamnya.

Mari dapatkan array nama dari folder ini:

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

Mari kita periksa untuk setiap nama, sama ada ia fail atau folder:

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

Perhatikan bahawa nama folder yang kita imbas, ditulis di dua tempat dalam kod. Ini tidak begitu sesuai. Mari keluarkannya ke dalam pembolehubah berasingan:

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

Sekarang mari kita paparkan kandungan untuk semua fail pada skrin:

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 bahawa laluan ke fail dikira dua kali. Mari keluarkannya ke dalam pembolehubah berasingan:

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

Diberikan sebuah folder. Paparkan pada skrin lajur nama subfolder dari folder ini.

Задание 2

Diberikan sebuah folder. Paparkan pada skrin lajur nama fail dari folder ini.

Задание 3

Diberikan sebuah folder. Tulis ke hujung setiap fail folder ini waktu semasa.