PHP – Dizindeki Dosyaları Listelemek

PHP

Bu yazımda bir dizinde bulunan dosyaların nasıl listelendiğini göstereceğim.

Dizinde bulunan dosyaları listelemek için iki adet metodum var. Bunlar; scandir() ve glob() metotlarıdır.

scandir()

Bu metot sayesinde dizin içeriğini tarayabiliyoruz.

  $DOSYALAR = scandir('.');
  echo '<pre>';
  print_r($DOSYALAR);
  echo '</pre>';

[0] => .
[1] => ..
[2] => index.php
[3] => sonuc.php
[4] => test

Bu metodu çalıştırdığımızda yukarıdaki çıktıya benzer bir çıktı oluşturulur. Bu çıktı dizi olarak geldiği için print_r() ile yazdırdım.


glob()

Bu metot scandir() metoduna benzer. Farkları da var tabiki. Çalıştırdığımızda bunu anlıyoruz zaten.

  $DOSYALAR = glob('*');
  echo '<pre>';
  print_r($DOSYALAR);
  echo '</pre>';

[0] => index.php
[1] => sonuc.php
[2] => test


Glob fonksiyonunun güzel yanları istediğimiz türden dosya tarabiliyoruz. Örneğin .php uzantılı dosya taramak istersek, şöyle kullanıyoruz:

  $DOSYALAR = glob('*.php');
  echo '<pre>';
  print_r($DOSYALAR);
  echo '</pre>';

Veya birden çok dosya uzantısı taramak istersek:

  $DOSYALAR = glob('*{php,css}');
  echo '<pre>';
  print_r($DOSYALAR);
  echo '</pre>';

bu şekilde kullanıyoruz.


Örnek:

Konuyu iyi anlamanız için küçük bir örnek yazalım.

  function dosyaları_listele($DIZININ_ADI){
    $DOSYALAR = scandir($DIZININ_ADI);
    echo '<ul>';
      foreach( $DOSYALAR as $DOSYA){
        echo '<li>' . $DOSYA . '</li>';
      }
    echo '</ul>';
  };
  
  dosyaları_listele('.');

Bu kod gayet açık. Eğer anlamadığınız bir yer olursa yorumlarda yazarak belirtebilirsiniz. Elimden geldiğince yardımcı olmaya çalışırım.

Yorum bırakın