Avatar billede steffansp Nybegynder
08. april 2009 - 20:23 Der er 1 løsning

Sortere en liste mm.

Hej
Jeg en ftp server, samt tilhørende hjemmeside kørende. Og lige nu kan jeg ikke komme videre med min kode. Indtil videre henter den data fra transfere loggen fra min ftpserver og skriver dem linje på linje(de 100 seneste). Det ser sådan ud:
Wed 8 11:26:49 47.68 MB /mappe1/mitupload/del1.zip brian
Wed 8 11:26:14 47.68 MB /mappe1/mitupload/del2.zip brian
Wed 8 11:24:33 15.23 MB /mappe1/mitupload/del3.zip brian

Altså har brian hentet 3 filerne i dag. Mit spørgsmål kommer så her i flere dele:

1) Hvordan får jeg mulighed for at sortere efter dag, dato, file, bruger? Det skal fungere på samme måde som dropbox som ex. når man opretter et spørgsmål her på siden. Dog skal nye data tilskrives automatisk, da dagen osv jo skifter.

2) Mulighed for kolapse hvis et download består af mange dele. ex. overstående bliver til

Wed 8 11:26:49 47.68 MB /mappe1/mitupload/del1.zip brian
Wed 8 11:26:14 47.68 MB /mappe1/mitupload/del2.zip brian
Wed 8 11:24:33 15.23 MB /mappe1/mitupload/del3.zip brian

-->

Wed 8 110,23MB /mappe1/mitupload/ brian

Sådan ser min kode ud indtil videre og kan ikke lige se hvordan jeg skal komme videre.


if($_GET['a'] == "show_all") echo "<a href='transfere_list.php'><u>Tilbage</u></a> (Viser seneste 100 overførsler)";
else echo "<a href='transfere_list.php?a=show_all'><u>Vis alt</u></a> <span style=\"color:FF0000\">(Advarsel. Kan være meget stor!)</span>";

echo "<br><br>";
print "<b>Månede, Dato, Tidspunkt, Data Overført, Downloaded, Bruger</b>";

function ByteSize($bytes) {
    $size = $bytes/ 1024;
    if($size < 1024)
        {
        $size = number_format($size, 2);
        $size .= ' KB';
        }
    else
        {
        if($size / 1024 < 1024)
            {
            $size = number_format($size / 1024, 2);
            $size .= ' MB';
            }
        else if ($size / 1024 / 1024 < 1024)
            {
            $size = number_format($size / 1024 / 1024, 2);
            $size .= ' GB';
            }
        }
    return $size;
    }

//Vis indholdet af arrayet

$fil = file("/var/log/xferlog");
$fil = array_reverse($fil);

if($_GET['a'] == "show_all") $limit = count($fil);
else $limit = 100;

for($i = 0; $i < $limit; $i++) {
    echo $fil[$n]."<br />\n";
    $l = explode(" ", $fil[$i]);
        echo $l[0].' '.$l[3].' '.$l[4].' '.(empty($l[8])?"":ByteSize($l[8])).' '.$l[9].'<b>'.' '.$l[14].'</b>';
}
Avatar billede steffansp Nybegynder
16. maj 2009 - 17:20 #1
Ingen svar. - Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester