Dateien Splitten und Jahrgang sortieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateien Splitten und Jahrgang sortieren

    Hallo, ich möchte gerne mit php einen Dateienlister für die Sitzungsprotokolle machen! Die Protokolle sind alle PDF, und werden folgendermasen abgespeichert:

    GemeindeYYMMTT.pdf

    Ich habe schon mal versucht es zu lösen, bin noch nicht so fitt in php, leider nur anfänger!
    Ich möchte jetzt die Dateien von hintenher aufsplitten, also nur YYMMTT, und dann sortieren nach Datum absteigend, also 04 oben, dann neue Tabell mit 03 usw.
    Mein code sieht bisher so aus!

    ----snip----

    <?
    $dir_name = "D:/Internet/htdocs/programme";
    echo "<table BORDER=0 BGCOLOR='#FFFBFF' CELLSPACING=0 CELLPADDING=3 WIDTH=550>
    <tr><td bgcolor='#DCDCDC'><font face='Arial' font size=2 CELLSPACING='3'>Dateiname</td>
    <td bgcolor='#DCDCDC'><font face='Arial' font size=2 CELLSPACING='3'>Letzter Zugriff</td>
    <td bgcolor='#DCDCDC'><font face='Arial' font size=2 CELLSPACING='3'>Letzte Veränderung</td>";

    echo "<td ALIGN=RIGHT bgcolor='#DCDCDC'><font face='Arial' font size=2 CELLSPACING='3'>Größe in kb</td></tr>";

    $dir = opendir($dir_name);
    while ($file_name = readdir($dir))

    {
    $test=$dir_name."//".$file_name;
    if (is_file($test)AND !is_link($file_name) AND !stristr($file_name,".php") AND !stristr($file_name,".css"))
    {

    $time_of_last_access=date("d.m.Y - H:i:s",fileatime($test));
    $time_of_last_modification=date("d.m.Y - H:i:s",filemtime($test));
    $size = round(filesize($test)/1024);
    echo "<tr><td><font face='Arial' font size=1 CELLSPACING='3'><a href=$file_name TARGET= _blank>$file_name</a><br>\n</td>
    <td ALGIN=RIGHT><font face='Arial' font size=1 CELLSPACING='3'>$time_of_last_access</td>";
    echo "<td><font face='Arial' font size=1 CELLSPACING='3'>$time_of_last_modification</td>";
    echo "<td ALIGN=RIGHT><font face='Arial' font size=1 CELLSPACING='3'>$size kb</td></tr>";
    }
    }
    closedir($dir);
    echo "</table>";
    ?>

    ----snip----

    Ich hoffe, es kann mir jemand ein bischen unter die Arme greifen, die seite muss ich bisher jedesmal editieruen und auf den server speichern! Ich möchte mir aber die Arbeit ersparen, und nur die PDF noch auf den Server schieben, und php erledigt das für mich! (Arbeitserleichterung)

  • #2
    so könnte man das machen:
    PHP-Code:
    <?
    $dir_name = "D:/Internet/htdocs/programme"; 
    $dir = opendir($dir_name);
    $detail=array();
    $ts=array();

    while ($file_name = readdir($dir)){
        $test=$dir_name."//".$file_name;
        if (is_file($test)AND !is_link($file_name) AND !stristr($file_name,".php") AND !stristr($file_name,".css")){

            $array['time_of_last_access']=date("d.m.Y - H:i:s",fileatime($test));
            $array['time_of_last_modification']=date("d.m.Y - H:i:s",filemtime($test));
            $array['size'] = round(filesize($test)/1024);
            $array['file_name']=$file_name;

            $file_name=str_replace('Gemeinde','',$file_name);
            $file_name=str_replace('.pdf','',$file_name);

            array_push($ts,mktime(0,0,0,substr($file_name,2,2),substr($file_name,4,2),substr($file_name,0,2)));
            array_push($detail,$array);
        }
    }
    closedir($dir);
    array_multisort($ts,SORT_DESC,$detail);

    echo "
    <table BORDER=0 BGCOLOR='#FFFBFF' CELLSPACING=0 CELLPADDING=3 WIDTH=550>
    <tr><td bgcolor='#DCDCDC'><font face='Arial' font size=2 CELLSPACING='3'>Dateiname</td>
    <td bgcolor='#DCDCDC'><font face='Arial' font size=2 CELLSPACING='3'>Letzter Zugriff</td>
    <td bgcolor='#DCDCDC'><font face='Arial' font size=2 CELLSPACING='3'>Letzte Veränderung</td>";

    echo "<td ALIGN=RIGHT bgcolor='#DCDCDC'><font face='Arial' font size=2 CELLSPACING='3'>Größe in kb</td></tr>";


    for ($i=0;$i<count($detail);$i++){
        echo "
        <tr>
        <td><font face='Arial' font size=1 CELLSPACING='3'><a href=".$detail[$i]['file_name']." TARGET= _blank>".$detail[$i]['file_name']."</a><br>\n</td>
        <td ALGIN=RIGHT><font face='Arial' font size=1 CELLSPACING='3'>".$detail[$i]['time_of_last_access']."</td>";
        echo "<td><font face='Arial' font size=1 CELLSPACING='3'>".$detail[$i]['time_of_last_modification']."</td>";
        echo "<td ALIGN=RIGHT><font face='Arial' font size=1 CELLSPACING='3'>".$detail[$i]['size']," kb</td></tr>";
    }
    echo "</table>";
    ?>

    Kommentar


    • #3
      Herzlichen Dank, genau was ich gesucht habe!

      Kommentar


      • #4
        @welcome on board: Bitte die [php]-Tags zum posten von CODE benutzen.

        Kommentar

        Lädt...
        X