Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: peso file

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    peso file

    ieri mi avete aiutato con questo codice per elencare in una pagian php i file presenti in una cartella!

    Codice PHP:
    <?php
    $directory
    ="files/";
    foreach (
    glob($directory "*.*") as $filename)
    {
    $filename2 str_replace($directory""$filename); 
       echo 
    "
    "
    .$filename2."<a href=\"".$filename."\" target='_blank'>Apri</a>";
    }
    ?>
    vorrei inserire anche il peso di ogni file.. che devo fare?!

    grazie!

  2. #2
    semplicissimo...
    basta che aggiungi:
    Codice PHP:
    echo filesize($filename); 
    poi formattalo come ti pare...

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    grazie mille!

  4. #4
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    scusatemi ancora, e per inserire il peso totale di tutti i file di una cartella come si fa?!

  5. #5
    Ti riferisci sempre allo script di prima?
    bè, puoi aggiungere, sempre all'interno del ciclo foreach, una riga così:

    $dimensione_totale += filesize($filename);

    alla fine del ciclo la variabile $dimensione_totale (o chiamala come vuoi) conterrà la dimensione dei file totali (in byte, se puoi devi trasformarli in kb o in mb devi dividere per 1024 ogni volta, visto che un kb sono 1024 byte e un mb 1024 kb)

  6. #6
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    si sempre lo stesso script.. ma quindi dovrebbe venire fuori così ?!?!

    Codice PHP:
    <?php
    $directory
    ="files/";
    foreach (
    glob($directory "*.*") as $filename)
    $dimensione_totale += filesize($filename);
    {
    $filename2 str_replace($directory""$filename); 
       echo 
    "
    "
    .$dimensione_totale."
    "
    ;
    }
    ?>
    e epr cambiare il formato da byte e kb o mb, come faccio a dividere?!

  7. #7
    no, così non funziona... ogni volta che il ciclo viene eseguito devi sommare la dimensione de file alla dimensione totale, poi alla fine (il ciclo finisce dopo aver chiuso le parentesi graffe) puoi stampare la dimensione totale...
    prova così:

    Codice PHP:
    <?php 
    $directory
    ="files/"

    echo <<<html
    <table border="0">
    <tr>
    <td>Nome file</td>
    <td>dimensione</td>
    </tr>
    html;
    foreach (
    glob($directory "*.*") as $filename) {

    $filename2 str_replace($directory""$filename); 
    $dimensione filesize($filename);

    echo <<<html
    <tr><td>
    $filename2
    </td><td>
    $dimensione
    </td></tr>
    html;

    $dimensione_tot += $dimensione;


    echo <<<html
    <tr><td colspan="2">
    Dimensione totale dei file nella cartella: 
    $dimensione_tot
    </td></tr>
    </table>
    html;
    ?>

  8. #8
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da relicanth
    no, così non funziona... ogni volta che il ciclo viene eseguito devi sommare la dimensione de file alla dimensione totale, poi alla fine (il ciclo finisce dopo aver chiuso le parentesi graffe) puoi stampare la dimensione totale...
    prova così:

    Codice PHP:
    <?php 
    $directory
    ="files/"

    echo <<<html
    <table border="0">
    <tr>
    <td>Nome file</td>
    <td>dimensione</td>
    </tr>
    html;
    foreach (
    glob($directory "*.*") as $filename) {

    $filename2 str_replace($directory""$filename); 
    $dimensione filesize($filename);

    echo <<<html
    <tr><td>
    $filename2
    </td><td>
    $dimensione
    </td></tr>
    html;

    $dimensione_tot += $dimensione;


    echo <<<html
    <tr><td colspan="2">
    Dimensione totale dei file nella cartella: 
    $dimensione_tot
    </td></tr>
    </table>
    html;
    ?>
    non va.. :master: c'è qualche errore

  9. #9
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    ahh ok, mancava alla fine la parentesi graffa per chiudere il ciclo!

    e per trasformare i byte in kb o mb cosa devo afre.. come faccio a dividere?! :master:

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da torrone
    e per trasformare i byte in kb o mb cosa devo afre.. come faccio a dividere?! :master:
    Codice PHP:
        function readableSize$size$dec ) {
            
    // Original function name: fSize [ [url="http://www.devpro.it"][url]www.devpro.it[/url][/url] ]
            // Converts filesize in Kb, Mb, Gb or Tb [ Zb as incredible size ! ]
            // andr3a [ [url="http://www.3site.it"][url]www.3site.it[/url][/url] ] 23 / 10 / 2004
            // EXAMPLE:
            //        echo FolderStats::readableSize( 87983598 );
                    //        // will print 83.91 Mb
            
    $toEval '';
            
    $type = Array( 'bytes''Kb''Mb''Gb''Tb''Zb' );
            
    $nsize = ( $size = (int) $size );
            
    $times 0;
            while( 
    $nsize >= 1024 ) {
                
    $nsize $nsize 1024;
                
    $toEval .= ' / 1024';
                
    $times++;
            }
            if( 
    $times === )
                
    $fSize $size.' '.$type[$times];
            else {
                eval( 
    '$size = ( $size'.$toEval.' );' );
                
    $fSize =  number_format$size$dec'.''' ).' '.$type[$times];
            }
            return 
    $fSize;
        }

    echo 
    readableSize(11102400); //10.59 Mb 

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.