Prehľadávanie obsahu priečinka v PHP
Majme nejaký priečinok dir,
ktorý obsahuje súbory aj podpriečinky.
Získajme pole mien z tohto priečinka:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
Pre každé meno skontrolujme, či je to súbor alebo priečinok:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
Všimnite si, že názov priečinka, ktorý skenujeme, je napísaný na dvoch miestach kódu. To nie je veľmi pohodlné. Vyberme tento názov do samostatnej premennej:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
Teraz pre všetky súbory vypíšme na obrazovku ich obsah:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
if (is_file($dir. '/' . $file)) {
echo file_get_contents($dir. '/' . $file);
}
}
?>
Môžeme si všimnúť, že cesta k súboru sa počíta dvakrát. Vyberme ju do samostatnej premennej:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
$path = $dir. '/' . $file; // cesta k súboru
if (is_file($path)) {
echo file_get_contents($path);
}
}
?>
Daný je priečinok. Vypíšte na obrazovku stĺpec mien podpriečinkov z tohto priečinka.
Daný je priečinok. Vypíšte na obrazovku stĺpec mien súborov z tohto priečinka.
Daný je priečinok. Do konca každého súboru tohto priečinka zapíšte aktuálny časový okamih.