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

    Restituzione nome cartelle non ordinato

    Ciao a tutti,
    ho trovato questo codice per leggere e stampare a schermo le cartelle (non i file) contenute in una cartella principale
    codice:
    <?php
    $DirPath="../cartelle";
    if($DirPath=="") {
    $DirPath='./cartelle';
    }
    if (($handle=opendir($DirPath))) {
    while ($node = readdir($handle)) {
    $nodebase = basename($node);
    if ($nodebase!="." && $nodebase!="..") {
    if(is_dir($DirPath.$node)) {
    $nPath=$DirPath.$node."/cartelle";
    echo "-> -> -> <a href='mostra_file.php?a=$nPath'>
    $node</a>
    ";
    } else {
    echo "
    
    -> $node";
    if ($a != "" && $a == $node){
    $DirPath2="../cartelle/$a";
    if($DirPath2=="") {
    $DirPath2="./cartelle/$a";
    }
    Tuttavia l'ordine che ottengo non è "alfabetico", cioè del tipo:
    Cartella 1
    Cartella 2
    Cartella 3
    Cartella 4
    Ma ottengo:
    Cartella 2
    Cartella 3
    Cartella 1
    Cartella 4

    Come posso fare per ottenere l'ordine corretto??

    Grazie

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    devi usare asort
    http://php.net/manual/en/function.asort.php

    non chiedermi come, ma so che devi applicarlo al tuo codice..

  3. #3
    Potrebbe essere che vada applicato al momento della creazione dell'array:
    codice:
    if ($b) {
    $link = $a."/".$b;
    $f=opendir('/web/htdocs/www.daycom.it/home/portfolio/webdisco/cartelle/'.$link);//apro la directory
    while(false!==($g=readdir($f))){//ciclo while che legge dentro la directory fino a quando non trova un valore false
    if($g!="." && $g!="..") {//elimino il punto ed i doppi punti
    if(is_dir('/web/htdocs/www.daycom.it/home/portfolio/webdisco/cartelle/'.$link."/".$g)){//creo un array con le directory trovate
    $array_dir[]=$g;
    $array_dir[]=asort($array_dir); 
    }
    if(is_file('/web/htdocs/www.daycom.it/home/portfolio/webdisco/cartelle/'.$link."/".$g)){//creo un array con i file trovati
    $array_file[]=$g;;
    $numg++;//numero di file trovati
    }
    }
    }
    closedir($f);//chiudo la directory
    }
    Ora faccio delle prove e vediamo cosa salta fuori....

    Comunque GRAZIE!!!

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.