Visualizzazione risultati 1 fino 3 di 3

Discussione: Elenco files cartella in ordine cronologico

  1. #1
    Guest

    Exclamation Elenco files cartella in ordine cronologico

    Salve,
    premetto che prima di postare ho letto tantissimi post con questo oggetto ma, non avendo basi di php, non so proprio come fare.
    Ho un file php che mi elenca i files caricati in una cartella in ordine alfabetico, io vorrei che vengano elencati in base alla data d'inserimento, dal più recente al più datato, vi posto il codice che penso richiami l'elenco (sperando che sia quello che serva )

    Codice PHP:

    function show_files() {

    $handle=opendir($this->upload_dir);
    $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);

    //modifica:
    $upload_dir = $this->upload_dir;
    $upload_url = $url_dir.$upload_dir;
    $filelist = "<h3>Elenco Files</h3>";
    $filelist .= '<table class="table"><tr><th>Nome</th><th>Aggiunto il</th><th>Azioni</th></tr>';

    while (
    $file = readdir($handle)) {
    if(!
    is_dir($file) && !is_link($file)) {

    if (
    $file == "index.php") {
    continue;
    }
    $filelist .= '<tr><td>'.$file.'</td>';
    $filelist .= '<td>'.date("d-m-Y H:i", filemtime($upload_dir.$file))."</td>"."";

    //modifica:
    $filelist .= '<td><a style="text-decoration:none; font-weight:bold" href="download.php?file='.$upload_dir.urlencode($file).'" title="Download">Dowload</a> ';

    if (
    $this->deletable) {
    $filelist .= "<a style='text-decoration:none; font-weight:bold' href='?delete=$upload_dir".urlencode($file)."' title='Delete'>Cancella</a></td></tr>";
    } else {
    echo
    '</td>';
    }
    }
    }

    $filelist .= '</table>';

    return
    $filelist;
    }
    Un grazie di cuore a chi può aiutarmi nell'intento!!!

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Ti consiglio l'utilizzo di glob e usort (per ordinare l'array restituito da glob).
    Ecco un esempio che puoi addattare come preferisci:
    Codice PHP:
    <?php
    function file_sort($a, $b) {
    $ta = filectime($a);
    $tb = filectime($b);

    // se $ta è maggiore di $tb, $a è più recente
    return $ta > $tb ? -1 : 1;
    }

    $directory = "/membri/nickname/"; // cambia col percorso che desideri
    $files = glob($directory . "*", GLOB_NOSORT);

    usort($files, "file_sort");

    // esempio di output
    $dir_len = strlen($directory);

    echo
    "File in ", $directory;

    echo
    "<ul>";

    foreach(
    $files as $file) {
    echo
    "<li>", substr($file, $len), "\t", date("H:i:s d/m/y", filectime($file)) ,"</li>";
    }

    echo
    "</ul>";
    ?>
    Ultima modifica di javascripter : 06-10-2013 alle ore 12.55.32

  3. #3
    Guest

    Predefinito

    grazie 1000 per l'interessamento, lo script che mi hai dato funziona alla grande, ma non riesco ad integrarlo con il mio!!! Si può fare?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •