Gennemgår indholdet af en mappe i PHP
Lad os sige, at vi har en given mappe dir,
der indeholder både filer og mapper.
Lad os få et array med navne fra denne mappe:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
Lad os for hvert navn kontrollere, om det er en fil eller en mappe:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
Bemærk venligst, at navnet på mappen, som vi scanner, er skrevet på to steder i koden. Dette er ikke særlig praktisk. Lad os udskille dette navn i en separat variabel:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
Lad os nu for alle filer vise deres indhold på skærmen:
<?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 bemærke, at stien til filen bliver beregnet to gange. Lad os udskille den i en separat variabel:
<?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);
}
}
?>
Der er givet en mappe. Vis en søjle med navne på undermapper fra denne mappe.
Der er givet en mappe. Vis en søjle med navne på filer fra denne mappe.
Der er givet en mappe. Skriv i slutningen af hver fil i denne mappe det aktuelle tidspunkt.