Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Ordine files php

  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    Ordine files php

    Ho un codice dove visualizzo in un elenco di files presenti in una cartella.

    Codice PHP:
    $handler opendir("../log/lavorazioni");
    if (
    false !== $handler) {
        echo 
    "<ul class='lista'>";
        while (
    $file readdir($handler)) {
            if ((
    $file != '.')&&($file != '..')){       
            
    $ultima_modifica " (Mod.: " .date ('d/m/Y H:i:s.'filemtime("../log/lavorazioni"."/".$file)).")";
            echo 
    "<li><a href='../log/lavorazioni/".$file."'>".$file."</a> " $ultima_modifica "</li>";
            }
        }
        echo 
    "</ul>"
    Li visualizzo dal più vecchio al più nuovo, come posso fare per visualizzare in alto il più nuovo?
    Grazie
    Sonia

  2. #2
    come fai (adesso) a visualizzarli dal più vecchio al più nuovo? Usi un comando specifico?

  3. #3
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    No! Uso il codice che ho postato e mi prende dal più vecchio al più nuovo.

  4. #4

  5. #5
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Quote Originariamente inviata da optime Visualizza il messaggio
    Ci ho provato ma non va
    O meglio visualizza correttamente (involtariamente con una formattazione migliore di quella che avevo fatto io), ma NON ordina dal più nuovo al più vecchio.

    Codice PHP:
        $files = array();
    if (
    $handle opendir('../log/lavorazioni')) {
        while (
    false !== ($file readdir($handle))) {
            if (
    $file != "." && $file != "..") {
               
    $files[filemtime("../log/lavorazioni"."/".$file)] = $file;
            }
        }
        
    closedir($handle);

        
    ksort($files);
        
    $reallyLastModified end($files);

        foreach(
    $files as $file) {
            
    $lastModified date('F d Y, H:i:s',filemtime("../log/lavorazioni"."/".$file));
            if(
    strlen($file)-strpos($file,".txt")== 4){
               if (
    $file == $reallyLastModified) {
               }
               echo 
    "<p><a href=\"$file\" target=\"_blank\">$file</a> $lastModified</p>";
            }
        }

    In pratica se nel while quando crea l'array metto un echo $file visualizzo lo stesso ordine del foreach.

    Mi verrebbe da dire che non fa correttamente questi passaggi:

    Codice PHP:
    ksort($files);
    $reallyLastModified end($files); 
    Se ho capito bene ksort va dal più piccolo al più grande, infatti se lo commento il risultato rimane il medesimo.
    Io però devo ordinare per data di modifica.

  6. #6

  7. #7
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Sembra che abbia risolto con un krsort... ma non sono convintissima.

  8. #8
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Non avevo visto la tua risposta! Quindi confermi che con krsort è corretto anche se non ero convinta.
    Grazie mille!

  9. #9

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.