Visualizzazione risultati 1 fino 12 di 12

Discussione: visualizzare l'estensione in php

  1. #1
    Guest

    Predefinito visualizzare l'estensione in php

    Ciao nuovamente a tutti :D
    questa volta scrivo non per un consiglio quanto per una domanda,

    volevo analizzare il tipo di file di tutti i file in una certa cartella, e visualizzarlo in una pagina come lista: che ne so, .zip, .jpg insomma quella parte li.

    ho da subito cercato sul sito di php una funzione adatta, filetype non mi aiutava in quanto mi diceva che era un file, ma non l'estensione.

    simile poteva essere mime_content_type(). questo però mi dovrebbe restituire un valore come ad esempio image/jpg o archive/zip insomma avrei ricavato facilmente il valore leggendo solo la seconda parte.

    tuttavia ho notato che la funzione, non funziona (scusate il gioco di parole )ogni volta che provo ad utilizzarla mi restituisce un errore

    qualcosa come: Fatal error: call to undefined function
    il che dovrebbe dire che la funzione che ho usato non è stata definita, ma l'ho letta sul sito di php, come puo darsi che non esista? che sia forse disabilitata?

    c'e un altro modo per risolvere lo stesso problema?

  2. #2
    Ospite Guest

    Predefinito

    Codice PHP:
    <?php
    $f
    =glob('*.*');
    foreach (
    $f as $file){
    $file=explode(".",$file);
    echo
    $file[1]."<br />";
    }
    ?>
    ;)
    Ciao!

  3. #3
    Guest

    Predefinito

    uhm... interessante...
    ma se il file si chiamasse:

    mio.file.bla.bla.jpg ?

    è possibilissimo avere file con punti all'interno del nome hhm
    lo scrip precedente,visualizzerebbe file.bla.bla.jpg come estensione...

    pensavo a una cosa simile, ora che mi ci fai pensare:

    Codice PHP:
    <?php
    $f
    =glob('*.*');
    foreach (
    $f as $file){
    $file=explode(".",$file);
    $i = count($file)-1;
    echo
    $file[$i]."<br />";
    }
    ?>
    potrebbe essere giusta? altre idee simili?

  4. #4
    Ospite Guest

    Predefinito

    Sì.
    Un'altra soluzione è:
    Codice PHP:
    <?php
    $f
    =glob('*.*');
    foreach (
    $f as $file){
    echo
    strstr($file, ".");
    echo
    "<br />";
    }
    ?>

  5. #5
    Guest

    Predefinito

    Un pò di tempo fà avevo fatto uno script per l'upload di immagini...per i file che avevano due o più punti nel nome del file (per sicurezza) impedivo l'upload...
    Non sò se può esserti utile l'idea, ma a me non piacciono i file con estensioni multiple...
    potresti anche controllare che il file abbia una e una sola estensione al momento dell'upload...
    Ciao

  6. #6
    incuso non è connesso Utente
    Data registrazione
    27-09-2003
    Messaggi
    173

    Predefinito

    Per ricavare l'estensione puoi usare:


    strrchr($nomefile, '.');

  7. #7
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da incuso
    Per ricavare l'estensione puoi usare:


    strrchr($nomefile, '.');
    Preciso che quella funzione può essere usata soltanto se lo script è in esecuzione nella directory php5.

    ;)
    Ciao!

  8. #8
    Guest

    Predefinito

    nella directory php5? come faccio a farlo eseguire li?

  9. #9
    Ospite Guest

    Predefinito

    Mah,io userei il mio script (il secondo) che funziona anche in php4 e fa la stessa cosa...
    cmq se vuoi usare quello di incuso,crea una cartella chiamata php5 nella dir principale del tuo spazio e metti lo script al suo interno...
    Ciao!

  10. #10
    Guest

    Predefinito

    si infatti io uso il primo, e mi ci trovo bene, ma sono rimasto un po, scioccato da una funzione un po piu diretta che ho trovato sul sito principale:

    Codice PHP:
    ?php
    $path_parts
    = pathinfo('/www/htdocs/index.html');
    echo
    $path_parts['dirname'], "\n";
    echo
    $path_parts['basename'], "\n";
    echo
    $path_parts['extension'], "\n";

    ?>
    che possa funzionare?
    Tutta sta fatica sprecata? xD
    o magari non e compatibile con alcune versioni vecchie

  11. #11
    Ospite Guest

    Predefinito

    Grazie per avermi fatto conoscere quella funzione,che nn avevo mai visto prima :)
    Comunque ho provato con:

    Codice PHP:
    <?php
    foreach(glob('*.*') as $f){
    $path_parts = pathinfo($f);
    echo
    $path_parts['extension'], "\n";
    }
    ?>
    E funziona! :):)

  12. #12
    Guest

    Predefinito

    gia, gli amici del PHP ci han facilitato la vita XD ok allora possiamo dire che il topic è giunto a conclusione :P

Regole di scrittura

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