PHP-de faýlyň mazmunyny düzmek

Bizde bir faýl dir bolsun, öz içinde faýllary hem-de faýllary saklaýan.

Gelin, bu faýldan atlar massiwini alalyň:

php<?php
  $files = array_diff(scandir('dir'), ['..', '.']);
?>

Gelin, her bir at üçin, bu faýlmy ýa-da faýlmy dugmasyny barlaýalyň:

php<?php
  $files = array_diff(scandir('dir'), ['..', '.']);
  
  foreach ($files as $file) {
    echo $file;
    var_dump(is_file('dir/' . $file));
  }
?>

Üns beriň, biz tarapyndan skanirleýän faýlyň ady, kodyň iki ýerinde ýazylan. Bu birnäçe amatly däl. Bu ady aýratyn üýtgeýjige çykaralyň:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    echo $file;
    var_dump(is_file($dir. '/' . $file));
  }
?>

Gelin, indi ähli faýllar üçin olaryň mazmunyny ekrana çykaralyň:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    if (is_file($dir. '/' . $file)) {
      echo file_get_contents($dir. '/' . $file);
    }
  }
?>

Bellik bolar, faýla ýol iki gezek hasaplanylýar. Gelin, ony aýratyn üýtgeýjige çykaralyň:

php<?php
  $dir = 'dir';
  $files = array_diff(scandir($dir), ['..', '.']);
  
  foreach ($files as $file) {
    $path = $dir. '/' . $file; // faýla ýol
    
    if (is_file($path)) {
      echo file_get_contents($path);
    }
  }
?>
Задание 1

Bir faýl berlen. Bu faýldaky kiçi faýllaryň atlarynyň sütünini ekrana çykaryň.

Задание 2

Bir faýl berlen. Bu faýldaky faýllaryň atlarynyň sütünini ekrana çykaryň.

Задание 3

Bir faýl berlen. Bu faýldaky her bir faýlyň ahyryna häzirki wagt möhletini ýazyň.