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

    ordinare ricorsivamente subdirs e files

    Salve a tutti. Sono ai primissimi passi col PHP.
    Dovrei visualizzare una directory con il suo contenuto. Ho trovato questo script, credo ben conosciuto, che va benissimo per i miei bisogni stampando a schermo la lista con i link ai files.
    Il problema è che la lista files esce a schermo con nomi ordinati alfabeticamente solo in locale (xampp) mentre restituisce un elenco caotico dal sito (joomlahost). Ho bisogno di listare in ordine alfabetico visto che i files vengono spesso rieditati e riuppati più volte, pasticciando la data di pubblicazione.
    Ho provato cercando di usare natsort, ma con le mie competenze non riesco a cavarci le gambe....
    C'è qualcuno che può aiutarmi?
    Grazie mille in anticipo

    (probabilmente lo script originale è stato cambiato in qualche minima parte per adattarlo ai miei bisogni)



    Codice PHP:
    <?PHP
    # Questa funzione permette di visualizzare un elenco a albero dei file e delle sottocartelle contenuti in $base.
    # Ciascun nome visualizzato è un link al file.
    # Copyright: Isacco Coccato - www.giacobbe85.altervista.org


    # NOTE:
    # - Quando si specifica il percorso, NON mettere / alla fine.
    # - Le immagini dei file e delle cartelle devono essere nella directory foto/


    function elenco_dir($base)
    {
    $dir_vuota=1# Flag per il controllo della directory vuota
    if ($handle_dir opendir($base)) # Apre la directory, e verifica che il percorso sia corretto
    {
        echo 
    "<UL class=\"testo\">\n"
      while (
    false!==($dir readdir($handle_dir))) # Legge una voce del finchè non è finita la directory, e la memorizza in $dir
      
    {
        if (
    $dir!="." && $dir!=".." && $dir!="foto"#Evita di stampare "." e ".." e la cartella di servizio
        
    {
          
    $dir_vuota=0;
              if(
    is_dir($base"/" .$dir))
              {
               
    # Codice nel caso di directory
              
    echo '<LI style="list-style-image: url(foto/cartella.gif)"><B>' $dir "</B>\n";
              
    elenco_dir($base"/" .$dir); 
                   echo 
    "</LI>\n";
          }
           else
            {
              
    #Codice nel caso di file
                # Evita di stampare alcuni tipi di file
                    # Elimina l'estensione dei file, qualunque sia la sua lunghezza, e anche se compaiono altri punti nel nome del file
                  
    if ($dir != "." && $dir != ".." && $dir != "file_da_non_mostrare.est" && substr($dir,-3,3) != "php")
                   echo 
    '<LI style="list-style-image: url(foto/file.gif)"><A href="' .$base '/' $dir '"  target="_blank">' str_replace('_'' 'substr($dir,0strrpos($dir,"."))) . "</A></LI>\n";
        
            }
        }
      }
        if (
    $dir_vuota==1) echo '<LI class="testo" style="list-style-image: url(foto/sbagliato.gif)">Nessun file presente</LI>';    
      echo 
    "</UL><BR>";    
      
    closedir($handle_dir);
    }
    else 
    #Codice nel caso di percorso non trovato
    {
      echo 
    "Percorso errato";
    }
    }    


    # Chiamata della funzione come esempio
    elenco_dir(".");
    ?>
    Ultima modifica di gigionaz; 15-11-2016 a 17:01

  2. #2
    Dimenticavo... il list deve essere ricorsivo e nello script lo è. Scusate

  3. #3
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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