Visualizzazione risultati 1 fino 14 di 14

Discussione: funzioni size file e tipo di file

  1. #1
    Guest

    Predefinito funzioni size file e tipo di file

    Ciao a tutti dovrei creare 2 funzioni...
    1)una che in base al nome del file mi dice le sue dimensioni nelle varie unita di misura...
    B
    KB
    MB
    GB
    TB
    PB
    EB
    ZB
    YB
    KiB
    MiB
    GiB
    TiB
    PiB
    EiB
    ZiB
    YiB
    2)una che riesce a capire il tipo di file si tratta e stampa il nome del tipo di file tipo php....
    Codice PHP:
    php
    js
    html
    css
    xhtml
    asp
    wml
    txt
    png
    gif
    jpeg
    jpg
    ecc
    avete consigli pensavo di creare un array ma poi non mi viene in che modo potrei fare...
    Ultima modifica di hotmailpower : 15-05-2010 alle ore 10.04.39

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Ti posto una funzione che ho trovato direttamente sul sito php.net nella pagina della funzione filesize:
    Codice PHP:
    function size($path) {
    $size = filesize($path);
    $units = array('B', 'KB', 'MB', 'GB', 'TB');
    $bytes = max($size, 0);
    $pow = floor(($bytes ? log($bytes) : 0) / log(1024));
    $pow = min($pow, count($units) - 1);
    $bytes /= pow(1024, $pow);
    return
    round($bytes) . ' ' . $units[$pow];
    }
    Mentre per l'estensione puoi usare:
    Codice PHP:
    function ext($path) {
    $path = explode('.', $path);
    return
    end($path);
    }

  3. #3
    Guest

    Predefinito

    per la funzione...
    Codice PHP:
    function File($file) {
    $file = explode('.',$file);
    return
    end($file);
    }
    come potrei usare
    Codice PHP:
    is_dir
    lo provata ma non sta funzionando...
    Codice PHP:
    function Size($file){
    $size = filesize($file);
    $unita = array('B', 'KB', 'MB', 'GB', 'TB');
    $bytes = max($size, 0);
    $pow = floor(($bytes ? log($bytes) : 0) / log(1024));
    $pow = min($pow, count($units) - 1);
    $bytes /= pow(1024, $pow);
    return
    round($bytes).' '.$unita[$pow];
    }
    Ultima modifica di hotmailpower : 15-05-2010 alle ore 13.24.08

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Citazione Originalmente inviato da hotmailpower Visualizza messaggio
    per la funzione...
    Codice PHP:
    function File($file) {
    $file = explode('.',$file);
    return
    end($file);
    }
    come potrei usare
    Codice PHP:
    is_dir
    In che modo vorresti usarla???

    Citazione Originalmente inviato da hotmailpower Visualizza messaggio
    lo provata ma non sta funzionando...
    Codice PHP:
    function Size($file){
    $size = filesize($file);
    $unita = array('B', 'KB', 'MB', 'GB', 'TB');
    $bytes = max($size, 0);
    $pow = floor(($bytes ? log($bytes) : 0) / log(1024));
    $pow = min($pow, count($units) - 1); // qui ...
    $bytes /= pow(1024, $pow);
    return
    round($bytes).' '.$unita[$pow];
    }
    Ti metti a modificare i nomi delle variabili e non la fai nemmeno bene!

  5. #5
    Guest

    Predefinito

    giusto...
    potresti dirmi qui dove sbaglio...^^
    Codice PHP:
    <?php
    function File($percorso){
    return
    $file = explode('.',$percorso);
    }
    echo
    File("funzioni.php");
    ?>
    Ultima modifica di andreafallico : 15-05-2010 alle ore 15.11.11

  6. #6
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Così ridefinisci la funzione file() e manca la funzione end().
    Deve essere così:
    Codice PHP:
    <?php
    function File_ext($percorso){
    return
    end(explode('.',$percorso));
    }
    echo
    File_ext("funzioni.php");
    ?>

  7. #7
    Guest

    Predefinito

    capito
    ma se io faccio cosi perché mi da errore nei file png e jpg
    Codice PHP:
    function File_Tipo($file){
    $tipo = array('txt','php','html','htm','asp','xml','c','cpp','py','jsp','png','jpg','js','vbs','htaccess','css');
    $img = array('txt','php','html','htm','asp','xml','c','cpp','py','jsp','img','img','js','vbs','htaccess','css');
    return
    end(preg_replace($tipo,$img,explode('.',$file)));
    }

  8. #8
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Non capisco cosa vuoi fare e sembra davvero inutile... ( e pure sbagliato )

  9. #9
    Guest

    Predefinito

    ti spiego...
    stampo
    Codice PHP:
    echo File_tipo("funzioni.php");
    lui mi dovrebbe ritornare il tipo di file
    se php deve ritornare php
    se png deve ritornare img
    se jpg deve ritornare img
    se css deve ritornare css
    capito....
    array deve essere
    Codice PHP:
    $tipo = array('txt','php','html','htm','xml','png','jpg','js','css');
    $img = array('txt','php','html','html','txt','img','img','js','css');

  10. #10
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    E cosa c'è che non va in:
    Codice PHP:
    <?php
    function File_ext($percorso){
    return
    end(explode('.',$percorso));
    }
    echo
    File_ext("funzioni.php");
    ?>
    ??

  11. #11
    Guest

    Predefinito

    ce certi valori come png e jpg li devo sostituire con quello che scritto nel array...

  12. #12
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Ah ho capito:
    Codice PHP:
    function File_ext($percorso) {
    $ext = end(explode('.', $percorso));
    $tipo = array('txt','php','html','htm','xml','png','jpg','js','css');
    $img = array('txt','php','html','html','txt','img','img','js','css');

    return
    str_replace($tipo, $img, $ext);
    }
    Dovrebbe funzionare.

  13. #13
    Guest

    Predefinito

    6 un Mito....^^

    p.s.
    Codice PHP:
    function File_Percorso($file){
    $array = explode('/',$file);
    return
    $array[2];
    }
    echo
    File_Percorso("/cartella/cartella2/cartella/file.php");
    come faccio a prendere ultimo parte, dovrei stampare solo file.php
    posso modificarlo io manualmente tramite
    Codice PHP:
    $array[2];
    ma se io volessi che il php lo faccia al posto mio cosa mi consigli...

  14. #14
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    La funzione end restituisce sempre l'ultimo elemento di un array, impara ad usarla!

    Codice PHP:
    function File_Percorso($file){
    $array = explode('/',$file);
    return
    end($array);
    }

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •