Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di dordy
    Registrato dal
    Aug 2003
    Messaggi
    75

    natsort ordine naturale

    Ciao,

    ho questi due script per creare un elenco di menu e mentre sul primo viene implementato il comando natSort, per ordinare in modo naturale (o alfabetico) l'elenco

    <?
    error_reporting (0);
    $natSortArray = array();
    if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
    if(is_dir("$file") && ($file != '.') && ($file != '..') && ($file != 'files') && ($file != 'comandi') && ($file != 'download') && ($file != 'link') && ($file != 'homepage') && ($file != 'chisiamo') && ($file != 'servizi') && ($file != 'news') && ($file != 'recapiti') && ($file != 'gennaio') && ($file != 'febbraio') && ($file != 'marzo') && ($file != 'aprile') && ($file != 'maggio') && ($file != 'giugno') && ($file != 'luglio') && ($file != 'agosto') && ($file != 'settembre') && ($file != 'ottobre') && ($file != 'novembre') && ($file != 'dicembre')) {
    $natSortArray[] = $file;
    }
    }
    closedir($handle);
    }
    natsort($natSortArray);
    foreach($natSortArray as $file) {
    echo "<LI CLASS=\"no\"><A HREF=\"../page/$file/index.php\">$file</A>";
    }
    ?>

    non riesco ad inserire natSort nel secondo script (script che non vorrei sostituire)

    <?
    error_reporting (0);
    echo"
    <DIV ID=\"newbarra\">
    <A HREF=\"java-script:mostra('id_cat1');\" onCLICK=\"java-script:nascondi('id_cat2');\">× menu</A>
    <DIV ID=\"id_cat1\" STYLE=\"display:none;\">
    <DIV ID=\"newbarra3\">
    ";
    function dir_tree_sup($path='.') {
    if(!($dir = opendir($path))) return 0;
    while($file = readdir($dir)) {
    //se il file letto è una directory diversa da "." e ".."
    if(is_dir("$path/$file") && ($file != '.') && ($file != '..') && ($file != 'files') && ($file != 'comandi') && ($file != 'download') && ($file != 'link') && ($file != 'homepage') && ($file != 'chisiamo') && ($file != 'servizi') && ($file != 'news') && ($file != 'recapiti') && ($file != 'gennaio') && ($file != 'febbraio') && ($file != 'marzo') && ($file != 'aprile') && ($file != 'maggio') && ($file != 'giugno') && ($file != 'luglio') && ($file != 'agosto') && ($file != 'settembre') && ($file != 'ottobre') && ($file != 'novembre') && ($file != 'dicembre'))
    echo "<A HREF=\"../page/$file/index.php\">× $file</A>"; //stampo il nome della directory
    }
    closedir($dir); //chiudo la dir
    return 1;
    }
    dir_tree_sup();
    echo"
    </DIV>
    <A HREF=\"java-script:nascondi('id_cat1');\">× chiudi menu</A>
    </DIV>
    </DIV>


    ";
    ?>

    come posso fare?

    Grazie.
    CIVIS ROMANVS SVM

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova cosi (non testato ma l'idea c'è)

    codice:
    function dir_tree_sup($path='.') {
     if(!($dir = opendir($path))) return 0;
     $natSortArray = array();
     while($file = readdir($dir)) {
      //se il file letto è una directory diversa da "." e ".."
      if(is_dir("$path/$file") && ($file != '.') && ($file != '..') && ($file != 'files') && ($file != 'comandi') && ($file != 'download') && ($file != 'link') && ($file != 'homepage') && ($file != 'chisiamo') && ($file != 'servizi') && ($file != 'news') && ($file != 'recapiti') && ($file != 'gennaio') && ($file != 'febbraio') && ($file != 'marzo') && ($file != 'aprile') && ($file != 'maggio') && ($file != 'giugno') && ($file != 'luglio') && ($file != 'agosto') && ($file != 'settembre') && ($file != 'ottobre') && ($file != 'novembre') && ($file != 'dicembre')) {
        $natSortArray[]= "$file|<A HREF=\"../page/$file/index.php\">× $file</A>";
      }
     }
     closedir($dir); //chiudo la dir
     natsort($natSortArray);
     foreach($natSortArray => $value) {
      $current = explode("|",$natSortArray);
      echo $current[1]."\n";
     }
     return 1;
    }
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Altra idea

    codice:
    function dir_tree_sup($path='.') {
     if(!($dir = opendir($path))) return 0;
     $natSortArray = array();
     $tagAArray    = array();
     $i            = 0;
     while($file = readdir($dir)) {
      //se il file letto è una directory diversa da "." e ".."
      if(is_dir("$path/$file") && ($file != '.') && ($file != '..') && ($file != 'files') && ($file != 'comandi') && ($file != 'download') && ($file != 'link') && ($file != 'homepage') && ($file != 'chisiamo') && ($file != 'servizi') && ($file != 'news') && ($file != 'recapiti') && ($file != 'gennaio') && ($file != 'febbraio') && ($file != 'marzo') && ($file != 'aprile') && ($file != 'maggio') && ($file != 'giugno') && ($file != 'luglio') && ($file != 'agosto') && ($file != 'settembre') && ($file != 'ottobre') && ($file != 'novembre') && ($file != 'dicembre')) {
        $tagAArray[$i]    = "<A HREF=\"../page/$file/index.php\">× $file</A>";
        $natSortArray[$i] = "$file";
        $i++;
      }
     }
     closedir($dir); //chiudo la dir
     natsort($natSortArray);
     foreach($natSortArray as $key => $value) {
      echo $tagAArray[$key];
     }
     return 1;
    }
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it L'avatar di dordy
    Registrato dal
    Aug 2003
    Messaggi
    75
    Ciao badaze,

    in realtà lo script natsort è proprio tuo e mi va bene, solo che non riesco a fargli leggere le directory di un livello superiore, cioè se metto i due punti non legge nulla . . .

    <?
    error_reporting (0);
    $natSortArray = array();
    if ($handle = opendir('..')) {
    while (false !== ($file = readdir($handle))) {
    if(is_dir("$file") && ($file != '.') && ($file != '..') && ($file != 'files') && ($file != 'comandi') && ($file != 'download') && ($file != 'link') && ($file != 'homepage') && ($file != 'chisiamo') && ($file != 'servizi') && ($file != 'news') && ($file != 'recapiti') && ($file != 'gennaio') && ($file != 'febbraio') && ($file != 'marzo') && ($file != 'aprile') && ($file != 'maggio') && ($file != 'giugno') && ($file != 'luglio') && ($file != 'agosto') && ($file != 'settembre') && ($file != 'ottobre') && ($file != 'novembre') && ($file != 'dicembre')) {
    $natSortArray[] = $file;
    }
    }
    closedir($handle);
    }
    natsort($natSortArray);
    foreach($natSortArray as $file) {
    echo "<LI CLASS=\"no\"><A HREF=\"../page/$file/index.php\">$file</A>";
    }
    ?>

    allora ho usato l'altro script ma non riesco ad inserire natsort

    il tuo secondo script proposto non legge le directory
    CIVIS ROMANVS SVM

  5. #5
    Utente di HTML.it L'avatar di dordy
    Registrato dal
    Aug 2003
    Messaggi
    75
    aspetta che riprovo. . .
    CIVIS ROMANVS SVM

  6. #6
    Utente di HTML.it L'avatar di dordy
    Registrato dal
    Aug 2003
    Messaggi
    75
    perfetto . . . perfetto
    grazie
    CIVIS ROMANVS SVM

  7. #7
    Utente di HTML.it L'avatar di dordy
    Registrato dal
    Aug 2003
    Messaggi
    75
    Utilizzando lo stesso script, vorrei che visualizzasse solo l'ultimo file (o il primo) che si trovano nella directory . . . come posso intervenire inserendo i comandi filemtime ecc . . .?
    CIVIS ROMANVS SVM

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da dordy
    Utilizzando lo stesso script, vorrei che visualizzasse solo l'ultimo file (o il primo) che si trovano nella directory . . . come posso intervenire inserendo i comandi filemtime ecc . . .?
    Non mi ricordavo mica di avere scritto quello script !!!

    Puoi essere più preciso ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Utente di HTML.it L'avatar di dordy
    Registrato dal
    Aug 2003
    Messaggi
    75
    Lo avevo prelevato da qui

    http://forum.html.it/forum/showthrea...rdine+naturale

    ma l'aggiustatina che mi hai fatto in questo thread è spettacolare

    ora quello che sto cercando di implementare è che lo stesso script mi visualizzi solo l'ultimo (o il primo) file in una data directory

    sto provando le funzioni filetime ma non ci riesco

    Ciao.
    CIVIS ROMANVS SVM

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.