A mappa tartalmának elemzése PHP-ben
Tegyük fel, hogy van egy dir mappánk,
amely fájlokat és almappákat tartalmaz.
Kapjuk meg a mappából az elnevezések tömbjét:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
Ellenőrizzük minden egyes elnevezésről, hogy fájl vagy mappa:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
Figyeljük meg, hogy a beolvasott mappa neve két helyen is szerepel a kódban. Ez nem túl kényelmes. Tegyük külön változóba:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
Most minden fájlhoz jelenítsük meg a tartalmát:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
if (is_file($dir. '/' . $file)) {
echo file_get_contents($dir. '/' . $file);
}
}
?>
Észrevehetjük, hogy a fájl elérési útja két alkalommal kerül kiszámításra. Tegyük ezt külön változóba:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
$path = $dir. '/' . $file; // az elérési út a fájlhoz
if (is_file($path)) {
echo file_get_contents($path);
}
}
?>
Adott egy mappa. Jelenítsd meg a képernyőn az ebbe a mappába tartozó almappák neveit oszlopban.
Adott egy mappa. Jelenítsd meg a képernyőn az ebbe a mappába tartozó fájlok neveit oszlopban.
Adott egy mappa. Írd minden fájl végébe az aktuális időpontot.