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);
}
}
?>
Տրված է պանակ: Արտածեք էկրանին այդ պանակի ենթապանակների անունների սյունակը:
Տրված է պանակ: Արտածեք էկրանին այդ պանակի ֆայլերի անունների սյունակը:
Տրված է պանակ: Գրեք այդ պանակի յուրաքանչյուր ֆայլի վերջում ընթացիկ ժամանակի պահը: