PHPda papka tarkibini tahlil qilish
Faraz qilaylik, bizda dir papkasi bor,
uning ichida ham fayllar, ham papkalar mavjud.
Keling, ushbu papkadan nomlar massivini olamiz:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
Keling, har bir nom uchun tekshiramiz, bu fayl yoki papka ekanligini:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
E'tibor bering, biz skanerlayotgan papka nomi kodning ikki joyida yozilgan. Bu unchalik qulay emas. Keling, uni alohida o'zgaruvchiga ajratamiz:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
Keling, endi barcha fayllar uchun ularning tarkibini ekranda chiqaramiz:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
if (is_file($dir. '/' . $file)) {
echo file_get_contents($dir. '/' . $file);
}
}
?>
Faylga bo'lgan yo'l ikki marta hisoblanayotganini ko'rish mumkin. Keling, uni alohida o'zgaruvchiga ajratamiz:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
$path = $dir. '/' . $file; // faylga yo'l
if (is_file($path)) {
echo file_get_contents($path);
}
}
?>
Papka berilgan. Ushbu papkadagi ichki papkalar nomonlar ustunini ekranda chiqaring.
Papka berilgan. Ushbu papkadagi fayl nomonlar ustunini ekranda chiqaring.
Papka berilgan. Ushbu papkadagi har bir faylning oxiriga joriy vaqt momentini yozing.