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