kostenloser Webspace werbefrei: lima-city


Neueste Dateien auflisten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    t****o

    Hallo!
    Ich find einfach keine Lösung. Wie tag/krieg">kriege ich es hin mit PHP die (10) neuesten Dateien aus einem Ordner anzuzeigen? Das das ganze mit
    filemtime
    gemacht werden müsste weiß ich aber mehr auch nicht. Könnt ihr mir helfen?? Danke für die (hoffentlich) kommenden Antworten
    telelo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hmm da gibt es mehrere Möglichkeiten...
    Ich hab mal die Dateinamen und das dazugehörige Datum in ein Array aufgenommen und das Array dann sortiert ;-)

    <?php
    
    // Vergleichsfunktion
    function cmp($a, $b)
    {
        if (current($a) == current($b)) {
            return 0;
        }
        return (current($a) < current($b)) ? -1 : 1;
    }
    
    
    $dir = "/var/log";
    
    // Öffnen eines bekannten Verzeichnisses und danach seinen Inhalt einlesen
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            clearstatcache();
            while (($file = readdir($dh)) !== false) {
                if ($file != '.' && $file != '..') {
                    // Dateien & Zeitstempel in Array aufnehmen
                    $filelist[] = array($file => filemtime($dir.'/'.$file));
                }
            }
            closedir($dh);
        }
    }
    
    // Array mit Hilfe der Fkt. cmp() sortieren
    usort($filelist, 'cmp');
    
    // Array sortiert ausgeben
    foreach ($filelist as $filearray) {
        echo date ("Y-m-d H:i:s - ", current($filearray)) . key($filearray) . "<br />\n";
    }
    ?>


    Viel Spaß damit ;-)
    Grüßle

    Beitrag zuletzt geändert: 17.3.2009 14:46:55 von scout
  4. telelo schrieb: Hallo!
    Ich find einfach keine Lösung. Wie kriege ich es hin mit PHP die (10) neuesten Dateien aus einem Ordner anzuzeigen? Das das ganze mit
    filemtime
    gemacht werden müsste weiß ich aber mehr auch nicht. Könnt ihr mir helfen?? Danke für die (hoffentlich) kommenden Antworten
    telelo


    Habe mir grad auch vor 2 tagen einen ähnlichen code zusammengestückelt:
    <?php
    //define the path as relative
    $path = ".";
    $webpath ="someurl/";
    //using the opendir function
    $dir_handle = @opendir($path) or die("Unable to open $path");
    
    
    echo "Directory Listing of $path<br/>";
    list_dir($dir_handle,$path);
    function list_dir($dir_handle,$path)
    {
    global $unixlist, $filelist, $dirlist;
        // print_r ($dir_handle);
        echo "<ol>";
        //running the while loop
        while (false !== ($file = readdir($dir_handle))) {
            $dir =$path.'/'.$file;
            if(is_dir($dir) && $file != '.' && $file !='..' )
            {
                $handle = @opendir($dir) or die("undable to open file $file");
                echo "<li><a href=\"".$dir."\">$file</a></li>\n";
                list_dir($handle, $dir);
            }elseif($file != '.' && $file !='..')
            {
                   echo "<li><a href=\"".$dir."\">$file</a><!--";
                   if(filemtime($file)){
                   echo "-->(".date("d.m.Y - H:m",filemtime($dir)).")<!--";
                   $dirlist[]=$dir;
                   $filelist[]=$file;
                   $unixlist[]=filemtime($dir);
                   }
                   echo "--></li>\n";
            }
        }
    
        echo "</ol>";
    
        //closing the directory
        closedir($dir_handle);
    
    }
    
    array_multisort($unixlist, $filelist, $dirlist);
    $unixlist=array_reverse($unixlist);
    $filelist=array_reverse($filelist);
    $dirlist=array_reverse($dirlist);
    $a=0;
    foreach($unixlist as $unix)
    {
     echo "<a href=\"".$dirlist[$a]."\">".$filelist[$a]."</a>(".date("d.m.Y - H:m",$unix).")<br>";
    $a++;
    if ($a>=5) break;
    }
    
    ?>

    Der Code ließt alle Dateien und Unterordner des Aktuellen Ordners (Listest sie auch auf)
    und gibt eine Liste der Aktuellsten 5 Dateien aus.(if ($a>=5) break;)

    Letzendlich sind das nur 2 codeschnipsel die ich zu einem zusammengefügt habe.
    Weiß leider nicht mehr genau von wo ich die hatte , waren aber beispiele bei:
    http://de.php.net/manual/de/


    Beitrag zuletzt geändert: 17.3.2009 14:44:13 von simuliertes
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!