Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Ordinare in dimensione

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267

    Ordinare in dimensione

    salve,ho fatto questo script per ordinare i files per dimensione.
    in pratica
    1-legge i files in una cartella
    2-per ogni file copia il nome nell'array $filez
    3-per ogni valore dell'array apre il file (leggendone il nome) e copia la sua grandezza nell'array filestat
    4-ad ogni giro aggiunge a $filezstat[$i] il contenuto di fstat($handle) che contiene la parte che indica quanto è grosso il file.

    Codice PHP:
    <?php>
       case 
    "dimensione":
    //Ordina per dimensione

    for ($i 0$i <=$numerofiles-1$i++){
    $filename ="$dir$filez[$i]";
    $handle fopen($filename"r");
    $filestat fstat($handle);
    $filezstat[$i]=$filestat[7];
    fclose($handle);
    }
    $filez=$filezstat;
    sort($filez);

     
    ?>
    Alla fine però mi si crea l'inconveniente che ho sovrascritto $filez con le grandezze numeriche del relativo files,mentre a me servono ancora i nomi,perchè li devo passare ad uno script di download.
    c'e un modo per mettere nell'array $filez i valori $filezstat[$i](gradezza) e $filez[$i](nome)
    cioè sarebbe un array bidimensionale ma con lo stesso indice richiamo 2 valori....

    è possibile?
    anticiaptamente grazie

  2. #2
    ti sei risposto da solo!
    devi i usare array multilivello

    quindi ogni indice principale dell'array è un array a sua volta, oppure usi array associativi e metti il nome del file come indice.

    quando fai il ciclo per richiamare i valori

    foreach($array as $nome => $size){
    //in questo modo l'array e a una sola dimensione ma i valori che estrai sono 2
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    ma poi come faccio a ordinare solo in base all'indice $size?....si può?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    non ho capito

  5. #5
    usando un array associativo ordini con la asort($array), in ord. ascendente o la arsort($array) in ord. discendente
    precipito

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.