Avatar billede peter369 Nybegynder
23. februar 2006 - 11:17 Der er 3 kommentarer og
1 løsning

List efter dato

jeg har det her upload script

jeg vil gerne have det så at den lister efter dato
den skal list de nye filer nederst

if ($handle = opendir('./upload_her')) {
    while (false !== ($file = readdir($handle))) {
        if($file != "." && $file != ".." && !ereg("^\..+", $file))
        echo '<a href="http://www.diblo.dk/uploade/force-download.php?file=upload_her/'.$file.'">'.$file.'</a>
        <br />';
    }
closedir($handle);
}



Hele scriptet her

<html>
<head>
    <title>Uploade - Diblo Dk</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
</style>
</head>

<body>
<p><?php
$conf["up_dir"] = "upload_her";
$conf["max_str"] = "4000";
/* Check PHP-version */
list($major, $minor, $rev) = explode(".", phpversion());

if($major < 4) {
    die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}

/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */
if ($minor < 1) {
  $_FILES = $HTTP_POST_FILES;
  $_POST = $HTTP_POST_VARS;
  $_SERVER = $HTTP_SERVER_VARS;
}

/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $conf["up_dir"] . "/" . $_FILES["upfil"]["name"];

/* Accepterer vi filens stoerrelse? */
$fil_str = filesize($fra)/1024;
if ($fil_str > $conf["max_str"]) {
    die("Desværre - filen er for stor. Jeg accepterer kun " .
        $conf["max_str"] . "kb, og din fil fylder " .
        ceil($fil_str, 1) . " kb");
} else {}

/* Saa koerer vi */
if (function_exists("move_uploaded_file")) {
    move_uploaded_file($fra, $til);
} else {
  copy($fra, $til);
}

    echo '
<form action="./uploade.php?action=ok" method="post" enctype="multipart/form-data">
  <b>Fil til upload:</b>
  <input type="file" name="upfil" />
  <input type="submit" value="upload" />
</form>
';
/* This is the correct way to loop over the directory. */
if ($handle = opendir('./upload_her')) {
    while (false !== ($file = readdir($handle))) {
        if($file != "." && $file != ".." && !ereg("^\..+", $file))
        echo '<a href="http://www.diblo.dk/uploade/force-download.php?file=upload_her/'.$file.'">'.$file.'</a>
        <br />';
    }
closedir($handle);
}
?>
</p>
</body>
</html>
Avatar billede domaz.dk Novice
23. februar 2006 - 12:17 #1
det bliver noget indviklet noget eftersom du ikke gemmer infoen om de uploadede filer i en database... det du kan gøre er at kalde filen time()_filnavnet...

så vil de automatisk sortere sig efter "dato" ( time() )

edit:

/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $conf["up_dir"] . "/" . time() . "_" . $_FILES["upfil"]["name"];
Avatar billede greew Nybegynder
23. februar 2006 - 17:05 #2
du har mulighed for at se hvornår en fil sidst er modificeret med filemtime()

så kan du evt. gemme filnavnene og tidspunkterne i et array, sortere arrayet på tidspunktet og bagefter filnavnene
Avatar billede peter369 Nybegynder
19. juni 2006 - 13:34 #3
hej jeg fik det ikke til at virke som jeg gerne ville med den måde du skrev:
/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $conf["up_dir"] . "/" . time() . "_" . $_FILES["upfil"]["name"];
men jeg har heller ikke fået kigget på den sener...
men til jer begge jeg har fået noget at arbjde vider på så snart jeg får tid til mig selv igen :-(. men jeg er sikker på at jeg kan bruge jers begge svar til at får det lavet men i hvadig fald blev jeg klover af det (ikke så svært men så lidt php jeg kan) så jeg er sikker jeg skal nok find løsningen med lidt google når jeg får tid igen.. tak for og kom med et svar begge 2 så bliver jeg glad :-)
Avatar billede greew Nybegynder
19. juni 2006 - 15:21 #4
håber du får det til at virke! :-)

held og lykke!
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