Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Ordine Inverso File in Cartella

    Allora,
    Devo aprire i file di una cartella in ordine dal + grande al + piccolo,
    i file che devo riordinare sono xml e sono contenuti nella cartella news e il nome è creato in automatico con un mktime() e quindi dovrei riordinarli dal più recente al + vecchio,
    per leggere i file in cartella uso questa funzione:

    Codice PHP:
    //inizio contatore
    $o 0;
    if (
    $handle opendir('news')) {
        while (
    false !== ($file readdir($handle))) {
        
    $p explode(".",$file);
            if (
    $file != "." && $file != ".." && array_pop($p)=='xml' ) {
                echo 
    "$file
    "
    ;
                
    $o++;
            }
        }
        
    closedir($handle);
    }

    //numero di news presenti
    $num $o

    Come devo modificare affinche la funzione echo mi dia i file nell'ordine scritto prima?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Codice PHP:
    $xml_array glob("news/*.xml");

    function 
    ordina($file1,$file2) {
       
    $tempo1 filemtime($file1);
       
    $tempo2 filemtime($file2);
       return (
    $tempo1 $tempo2) ? : -1;
       }

    usort($xml_array,"ordina");
    //var_dump($xml_array); 
    una volta ordinati ne fai ciò che vuoi.

  3. #3
    Funziona Grazie, però c'è un problema...

    La Funzione che mi Hai posta Ordina i File in base all'ultima modifica....

    Ma nel File Xml ci sono i commenti...quindi basta che uno commenta una news che la funzione riconosca il file come + nuovo....

    io vorrei che li ordinasse in base al nome del file...dalla z alla a...o dal 9 allo 0...in ordine inverso insomma!

  4. #4
    Funziona Grazie!

    La funzione riordina in base all'ultima modifica del file...a me serviva che riordinasse per nome,
    perciò ho modificato così:

    Codice PHP:
    function ordina($file1,$file2) {

       return (
    $file1 $file2) ? : -1;
       }

    usort($xml_array,"ordina");
    print_r($xml_array); 

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Anony89
    Funziona Grazie, però c'è un problema...

    La Funzione che mi Hai posta Ordina i File in base all'ultima modifica....

    Ma nel File Xml ci sono i commenti...quindi basta che uno commenta una news che la funzione riconosca il file come + nuovo....
    Usa filectime allora. All'inizio parlavi di ordinamento cronologico, non alfabetico.
    Prego.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.