PHP-те бума құрамын талдау
Бізде файлдар мен бумаларды қамтитын dir
деген бума берілсін.
Осы бумадан аттар тізімін алайық:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
Әрбір ат үшін оның файл екенін тексеріп көрейік, әлде бума ма:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
Біз сканерлеп жатқан бума аты кодта екі жерде жазылғанына назар аударыңыз. Бұл өте ыңғайлы емес. Оны жеке айнымалыға шығарайық:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
Енді барлық файлдар үшін олардың құрамын экранға шығарайық:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
if (is_file($dir. '/' . $file)) {
echo file_get_contents($dir. '/' . $file);
}
}
?>
Файлға дейінгі жол екі рет есептелетінін байқауға болады. Оны жеке айнымалыға шығарайық:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
$path = $dir. '/' . $file; // файл жолы
if (is_file($path)) {
echo file_get_contents($path);
}
}
?>
Бума берілген. Осы буманың ішкі бумаларының аттарын баған түрінде экранға шығарыңыз.
Бума берілген. Осы бумадағы файлдардың аттарын баған түрінде экранға шығарыңыз.
Бума берілген. Осы бумадағы әрбір файлдың соңына ағымдағы уақыт сәтің жазыңыз.