Analyserer innholdet i en mappe i PHP

La oss si at vi har en gitt mappe dir, som inneholder både filer og mapper.

La oss få en array med navn fra denne mappen:

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

La oss for hvert navn sjekke om det er en fil eller en mappe:

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

Legg merke til at navnet på mappen som vi skanner, er skrevet på to steder i koden. Dette er ikke veldig praktisk. La oss flytte det til en egen variabel:

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

La oss nå for alle filene skrive ut deres innhold til skjermen:

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

Man kan legge merke til at stien til filen blir beregnet to ganger. La oss flytte den til en egen variabel:

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

Det er gitt en mappe. Skriv ut til skjermen en kolonne med navn på undermapper fra denne mappen.

Задание 2

Det er gitt en mappe. Skriv ut til skjermen en kolonne med navn på filer fra denne mappen.

Задание 3

Det er gitt en mappe. Skriv inn i slutten av hver fil i denne mappen nåværende tidspunkt.