Analiza vsebine mape v PHP
Recimo, da imamo dano neko mapo dir,
ki vsebuje tako datoteke kot mape.
Pridobimo polje imen iz te mape:
php<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
Preverimo za vsako ime, ali je to datoteka ali mapa:
php<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
Opozorilo: ime mape, ki jo skeniramo, je zapisano na dveh mestih kode. To ni zelo priročno. Postavimo to ime v ločeno spremenljivko:
php<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
Zdaj pa za vse datoteke izpišimo ekran njihovo vsebino:
php<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
if (is_file($dir. '/' . $file)) {
echo file_get_contents($dir. '/' . $file);
}
}
?>
Opazimo lahko, da se pot do datoteke izračuna dvakrat. Postavimo jo v ločeno spremenljivko:
php<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
$path = $dir. '/' . $file; // pot do datoteke
if (is_file($path)) {
echo file_get_contents($path);
}
}
?>
Задание 1
Dana je mapa. Izpišite na ekran stolpec imen podmap iz te mape.
Задание 2
Dana je mapa. Izpišite na ekran stolpec imen datotek iz te mape.
Задание 3
Dana je mapa. Zapišite na konec vsake datoteke te mape trenutni časovni trenutek.