Selamlar,

Anladığım kadarı ile dizin içerisindeki belli uzantıya sahip dosyaları tarih sırasına göre sıralamak?! Bunun için iki kodu bir araya getirerek bir şey yapamayız. Tek çıkar yolu önce dizindeki dosyaları okuyup bunların tarihlerini ve adlarını array ile dizi içerisine almak. Daha sonra eşleştirme yapıp foreach ile arrayi tekrar okumak.

Burda sıkıntı şu aslında, aynı tarihte olan dosyalar aynı key ile atıldığında array dizisi bozulur. Farklı bir yöntem ile yapacağız. Sizin kodunuza göre örnek bir kod yazdım.

Umarım faydalı olmuştur. Kolay gelsin.

<?php
$dizin = "test/";
$uzanti = "htm"; //hangi uzantı?

//Uzantı alma fonksiyonu
function ext($text)  { 
    $text = strtolower(pathinfo($text, PATHINFO_EXTENSION));
    return $text;  
}

$dosyaAdi = array(); // yeni
$dosyaTarih = array(); // yeni

echo '<div class="title"><b>'.$uzanti.'</b> uzantili dosyalar:</div>';

if ($handle = opendir("$dizin") or die ("Dizin acilamadi!")) {

    while (false !== ($file = readdir($handle))) {
    $filetype = ext($file);

        if(is_file($dizin."/".$file) && $filetype == "$uzanti") { //eger bir dosya ise ve bizim belirlediğimiz uzantıya sahipse

			$dosyaAdi[] = $file; // yeni
			$dosyaTarih[] = filemtime($dizin."/".$file); // yeni
        } 

    } //while end

    closedir($handle);

}
/* tarihe göre sıralama */

asort($dosyaTarih); // küçükten büyüğe doğru tarihleri göre sırala
$dosyaAdlari_Array = array_keys($dosyaTarih); 
foreach ($dosyaAdlari_Array as $key=>$name) $name = $dosyaAdi[$value];
$dosya_tarihleri = array_merge($dosyaTarih);
$i = 0;
foreach ($dosya_tarihleri as $dtarih){ 
	$ix = $dosyaAdlari_Array[$i]; 
	$dosya = $dosyaAdi[$ix]; 
	$i++;

	$class = ($css % 2) ? "satir1" : "satir2"; // her satira farklı class
	echo '
	<div class="'.$class.'"><a href="'.$dizin.'/'.$dosya.'">'.$dosya.'</a> - Tarih: '.date("d.m.Y - H:i:s",$dtarih).' </div>';
	$css++;      
} 

?>




RenkliMedia adlı üyeden alıntı: mesajı görüntüle
Merhaba arkadaşlar aşağıda iki adet kod var bu kodlardan ilki dosya içerisindeki verileri sıralamamı sağlıyor ikincisi ise verileri düzenleme tarihine göre sıralıyor bu iki kodu bir araya getirebilecek bir arkadş bana yardımcı olursa çok sevinirim.

Bir diğer konu ise verileri çekeceğim yerde veri sayısı çok fazla olduğundan bunu 10'arlı halde sayfalamamda gerekiyor şimdiden teşekkürler...

<?php

$dizin = "test";
$uzanti = "htm"; //hangi uzantı?

//Uzantı alma fonksiyonu
function ext($text)  { 
    $text = strtolower(pathinfo($text, PATHINFO_EXTENSION));
    return $text;  }

echo '<div class="title"><b>'.$uzanti.'</b> uzantılı dosyalar:</div>';

if ($handle = opendir("$dizin") or die ("Dizin acilamadi!")) {

    while (false !== ($file = readdir($handle))) {
    $filetype = ext($file);

        if(is_file($dizin."/".$file) && $filetype == "$uzanti") { //eger bir dosya ise ve bizim belirlediğimiz uzantıya sahipse

        $class = ($css % 2) ? "satir1" : "satir2"; // her satira farklı class

        echo '
        <div class="'.$class.'"><a href="'.$dizin.'/'.$file.'">'.$file.'</a> </div>'; 

        $css++;

        } 

    } //while end

    closedir($handle);

}

?>
function filesByDate( $directory ) {
    $files = array();
    if( !$dh = opendir( $directory ) ) {
        trigger_error( "Failed to open directory [" . $directory . "]", E_USER_WARNING );
        return false;
    }
    while( ($file = readdir( $dh )) !== false ) {

        $files[$file] = fileatime( $directory . DIRECTORY_SEPARATOR . $file );
    }
    asort( $files );
    return array_keys( $files );
}