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

Папка берилган. Ҳар бир файлнинг охирига жорий вақтни ёзинг.