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);
}
}
?>
მოცემულია დირექტორია. გამოიტანეთ ეკრანზე სახელების სვეტი ამ დირექტორიის ქვედირექტორიებიდან.
მოცემულია დირექტორია. გამოიტანეთ ეკრანზე სახელების სვეტი ამ დირექტორიის ფაილებიდან.
მოცემულია დირექტორია. ჩაწერეთ თითოეული ფაილის ბოლოს ამ დირექტორიის მიმდინარე დრო.