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.