Forum

Discussione: [PHP] Dimensione File

Visualizzazione risultati 1 fino 18 di 18

  1. 08-04-2008, 22.21.17

    #1
    Guest

    Post [PHP] Dimensione File

    Ciao a tutti, ho fatto una ricerca ma non mi ha aiutato a trovare niente di nuovo..
    Per trovare la dimensione di un file io uso:
    http://it2.php.net/filesize
    Codice PHP:
    echo filesize($file); 
    E cos spunta
    12035 (Bytes)
    Ma io vorrei che questa quando supera 1 Kb venisse mostrata ad es:
    1024 Bytes -> 1 Kb
    Ma non solo in Kb anche in Mb e Gb..
    Come posso fare?
    Grazie.Ciao Davide! ^^
    Ultima modifica di sIM : 08-04-2008 alle ore 22.30.54

  2. 08-04-2008, 22.36.05

    #2
    L'avatar di darkwolf
    darkwolf
    darkwolf non  connesso Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    5,411
    Vedi questo script (ne parlavamo ieri): http://dreadnaut.altervista.org/prog...st-esempio.php
    qui c' una funzione:
    Codice:
     function makeSize($size) {
       $units = array('B','KB','MB','GB','TB');
       $u = 0;
       while ( (round($size / 1024) > 0) && ($u < 4) ) {
         $size = $size / 1024;
         $u++;
       }
       return (round($size,2) . " " . $units[$u]);
     }
    credo sia questo ci che cerchi
    Ultima modifica di darkwolf : 08-04-2008 alle ore 22.37.49

  3. 09-04-2008, 18.35.56

    #3
    Guest
    Si..ci avevo provato!
    Ma devo usare:
    Codice PHP:
    $filemax $file;
    function 
    makeSize($size) {
       
    $units = array('B','KB','MB','GB','TB');
       
    $u 0;
       while ( (
    round($size 1024) > 0) && ($u 4) ) {
         
    $size $size 1024;
         
    $u++;
       }
       return (
    round($size,2) . " " $units[$u]);
     }
    echo 
    makeSize($filemax); 
    ????..Grazie! Ciao Davide ^^

  4. 09-04-2008, 18.50.22

    #4
    L'avatar di dreadnaut
    dreadnaut
    dreadnaut non  connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,803
    sconforto filesize()
    Codice PHP:
    $nomefile "deossiribonucleico.txt";
    $dimensione filesize($nomefile);

    echo 
    makeSize($dimensione); 
    Ultima modifica di dreadnaut : 09-04-2008 alle ore 18.52.17
    chezDreadnaut dailyDreadnaut Qualcosa da leggere:
    "Un <BR/> impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  5. 09-04-2008, 19.13.15

    #5
    Guest
    Niente da fare!
    Codice PHP:
    <?php

    // Dimensione

    echo "<td class=\"s\">";



       
      if(
    $file!="." && $file!=".." && substr($file, -4) != ".php") {
     
    function 
    makeSize($size) {
       
    $units = array('B','KB','MB','GB','TB');
       
    $u 0;
       while ( (
    round($size 1024) > 0) && ($u 4) ) {
         
    $size $size 1024;
         
    $u++;
       }
       return (
    round($size,2) . " " $units[$u]);
     }
     
     
    $filemax $file;

    $dimensione filesize($filemax);

    echo 
    makeSize($dimensione);
     }
          echo 
    "</td>";
    ?>
    Errore:
    Fatal error: Cannot redeclare makesize() (previously declared in /membri/sim/file/dw/files.php:83) in /membri/sim/file/dw/files.php on line 83
    Grazie! Ciao...

    Edit: Ora che riguardo..Si vede la dimensione del primo file..non degli altri! ^^
    Ultima modifica di sIM : 09-04-2008 alle ore 19.14.36

  6. 09-04-2008, 21.12.41

    #6
    Guest
    Hai messo la funzione in un ciclo (for o while che sia), mettila prima del ciclo, fuori da esso

  7. 09-04-2008, 21.32.03

    #7
    Guest
    Eh?...x favore parla in italiano e se possibile facendo esempi! ^^

  8. 09-04-2008, 21.58.27

    #8
    L'avatar di dreadnaut
    dreadnaut
    dreadnaut non  connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,803
    Fatal error: Cannot redeclare makesize() (previously declared in /membri/sim/file/dw/files.php:83) in /membri/sim/file/dw/files.php on line 83
    e sia questo l'ultimo pm che ricevo per avvisarmi che hai risposto ad un thread e che devo guardarlo. Al prossimo ti blocco e non ti leggo mai pi
    chezDreadnaut dailyDreadnaut Qualcosa da leggere:
    "Un <BR/> impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  9. 10-04-2008, 20.16.38

    #9
    Guest
    Scusami ma intendi fare cos:
    Codice PHP:
    function makeSize($size) {
       
    $units = array('B','KB','MB','GB','TB');
       
    $u 0;
         
    $size $size 1024;
         
    $u++;
       while ( (
    round($size 1024) > 0) && ($u 4) ) {
       }
       return (
    round($size,2) . " " $units[$u]);
     } 
    ..perch da errore!..
    Grazie! Ciao Davide...

    PS: Scusami se ti invio PM, ma non so che fare! ^_^
    Poi, mica sei obbligato a venire! ;)

  10. 11-04-2008, 12.05.59

    #10
    L'avatar di dementialsite
    dementialsite
    dementialsite non  connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,057
    Provo a risponderti per somme righe, visto che sembra tu non sappia nemmeno come si usano le funzioni personalizzate... ti consiglio di procedere cos:
    - inserisci la funzione makeSize() (il codice del post #2 mi sembra corretto) IN TESTA alla tua pagina PHP, e solo l (non serve ricopiarla da altre parti)
    - quando hai bisogno di elaborare la dimensione del file, ti basta richiamare la funzione: ad esempio, se devi stampare una dimensione formattata di un file scriverai echo makeSize ($size);

    Stammi bene...
    Ultima modifica di dementialsite : 11-04-2008 alle ore 13.42.29 Motivo: Correzione... thx 2 dreadnaut :-D
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  11. 11-04-2008, 20.51.57

    #11
    Guest
    Ok, Grazie..questo risolto..ma ora come faccio:
    Quando il giorno meno di 10 voglio che spunti uno 0 prima del numero es:
    2/04/2008 -> 02/04/2008
    Ecco il codice:
    Codice PHP:
    <?php

    // Data ultima Modifica

    echo "<td class=\"m\">";
       if(
    $file!="." && $file!=".." && substr($file, -4) != ".php") {
    $filedata $file;

    echo 
    date ("j/m/Y h:i"filemtime($filedata)); // 20/08/1325 15:25
    }
    echo 
    "</td>";    

    ?>
    Grazie!...
    Ciao Davide! ^_^

  12. 11-04-2008, 21.01.12

    #12
    L'avatar di ilpcportal
    ilpcportal
    ilpcportal non  connesso Utente
    Data registrazione
    18-08-2003
    Messaggi
    135
    Se non ho capito male devi sostituire

    Codice PHP:
    date ("j/m/Y h:i"filemtime($filedata
    con
    Codice PHP:
    date ("d/m/Y h:i"filemtime($filedata
    nel caso ti serva fare altre modifiche qui trovi la descrizione della funzione date con una lista dei valori per formattare le date : http://it.php.net/date

  13. 12-04-2008, 14.16.33

    #13
    Guest
    Ok, Grazie!
    Ma ora come faccio a cancellare un file tramite bottone? ^^
    Codice PHP:
    <?php

    echo "<td class=\"a\">";
              if(
    $file!="." && $file!=".." && substr($file, -4) != ".php") {
    $filecan $file;

    echo 
    "
    <form method=\"POST\" name=\"formcancella\">
    <input type=\"submit\" value=\"Cancella File...\" onclick=\""
    ; echo unlink($filecan); echo "\" name=\"cancella\" />
    </form>
    "
    ;
    if (isset(
    $_POST["cancella"])) {
    echo 
    "Cancellato: <b>$filecan</b>";;
    echo 
    "<br /><a href=\"files.php\">Carica Pagina</a>...";
    }
    }

        echo 
    "</td>";
        echo 
    "</tr>";
              }

          
    // Chiude il File!
    closedir($dir_handle);
        
    ?>
    ...Grazie!..Ciao Davide ^_^

  14. 12-04-2008, 15.07.06

    #14
    L'avatar di ilpcportal
    ilpcportal
    ilpcportal non  connesso Utente
    Data registrazione
    18-08-2003
    Messaggi
    135
    se vuoi eliminare file devi usare la funzione unlink(file_da_eliminare).

    la guida la trovi qui : http://it2.php.net/manual/it/function.unlink.php

  15. 12-04-2008, 15.10.24

    #15
    Guest
    Infatti c'...ma si cancellano TUTTI i file! :(
    Codice PHP:
    echo "<form method=\"POST\" name=\"formcancella\">
    <input type=\"submit\" value=\"Cancella File...\" onclick=\""
    ; echo unlink($filecan); echo "\" name=\"cancella\" />
    </form> 
    E quindi il bottone non funziona bene! :(

  16. 12-04-2008, 20.41.36

    #16
    L'avatar di ilpcportal
    ilpcportal
    ilpcportal non  connesso Utente
    Data registrazione
    18-08-2003
    Messaggi
    135
    emm unlink una funzione php che quando viene richiamata elimina il file che gli viene dato.

    se tu la richiami quando generi il codice del bottone lui le cancella subito.

    devi fare un bottone che punta alla pagina php che esegue l'eliminazione del file e da li eseguire l'unlink.

    quindi una cosa del genere :

    Codice PHP:
    echo "
    <form method=\"POST\" name=\"cancella_
    $filecan\" action=\"elimina.php?id=$filecan\">
    <input type=\"submit\" value=\"Cancella File...\" name=\"cancella\" />
    </form>
    "

    e piu una pagine elimina.php (o come la vuoi chiamare) che tramite l'id elimina il file

  17. 14-04-2008, 22.39.06

    #17
    Guest
    Ok, Grazie! ^^..
    Ora perch quando faccio la data non funziona?
    Esempio:
    14 aprile 2008 -> 14 Aprile 2008
    Codice PHP:
    setlocale(LC_TIME'it_IT'); // Lingua = Italiana
    $data strftime("%e %B %G"); // 31 gennaio 9999
    $data ucfirst($data); // 31 Gennaio 9999
    echo $data
    In pratica la funzione ucfirst() serve a modificare la prima lettera maiuscola!:
    io sono -> Io sono
    Grazie!...Ciao Davide ^^
    Ultima modifica di sIM : 14-04-2008 alle ore 22.40.23

  18. 15-04-2008, 00.17.20

    #18
    L'avatar di ilpcportal
    ilpcportal
    ilpcportal non  connesso Utente
    Data registrazione
    18-08-2003
    Messaggi
    135
    Ho dato una veloce lettura delle guide di php in riferimento alle funzioni usate :

    setlocale
    strftime

    Se non ho capito male alla funzione strftime devi passare anche il timestrap, quindi cosi dovrebbe andare:

    Codice PHP:
    setlocale(LC_TIME'it_IT');
    $data strftime("%A %d %B %Y" ,  time() ); 
    $data ucfirst($data); 
    echo 
    $data
    Ultima modifica di ilpcportal : 15-04-2008 alle ore 00.28.02

Thread Information

Regole di scrittura

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

SEO by vBSEO