Ontleed die inhoud van 'n gids in PHP
Laat ons aanneem ons het 'n sekere gids dir,
wat beide lêers en gidse bevat.
Kom ons kry 'n array van name uit hierdie gids:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
Laat ons vir elke naam nagaan of dit 'n lêer of 'n gids is:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
Let op dat die naam van die gids wat ons skandeer, op twee plekke in die kode geskryf is. Dit is nie baie gerieflik nie. Kom ons plaas hierdie naam in 'n aparte veranderlike:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
Kom ons druk nou die inhoud van al die lêers op die skerm af:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
if (is_file($dir. '/' . $file)) {
echo file_get_contents($dir. '/' . $file);
}
}
?>
Ons kan sien dat die pad na die lêer twee keer bereken word. Kom ons plaas dit in 'n aparte veranderlike:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
$path = $dir. '/' . $file; // pad na die lêer
if (is_file($path)) {
echo file_get_contents($path);
}
}
?>
'n Gids word gegee. Druk 'n kolom van name van subgidse uit hierdie gids op die skerm af.
'n Gids word gegee. Druk 'n kolom van name van lêers uit hierdie gids op die skerm af.
'n Gids word gegee. Skryf die huidige tydstip aan die einde van elke lêer in hierdie gids.