Visualizzazione risultati 1 fino 12 di 12

Discussione: [PHP] rilevamento tipo file, swith&array

  1. #1
    Guest

    Predefinito [PHP] rilevamento tipo file, swith&array

    salve semplice domandina (per chi ne sa la risposta, mica per me...)

    1)
    io per rilevare il tipo di file uso questa cosaccia
    Codice PHP:
    $file_info = explode(".", $file);
    $file_info_num = count($file_info);
    $file_nome = $file_info['0'];
    $file_ext = $file_info[$file_info_num - 1];
    $file_ext = strtolower($file_ext);
    premettendo che file esiste, e che come metodo funziona (ma è abbastanza grezzo), qualcuno mi saprebbe dire come determinare più facilmente il tipo di file?

    2)
    ho uno switch, sempre legato ai file, io vorrei che per ogni tipo di immagine inserisse una stringa altrimenti mette solo il nome, al momento faccio così (solo per i jpg)
    Codice PHP:
    switch($file_ext){
    case
    'jpg':
    echo
    '<img src="'.$file.'">';
    break;
    default:
    echo
    $file;
    break;
    }
    se ho sbagliato scrivendo questo pezzo fa niente era solo per far capire
    ora io vorrei sapere, è possibile, invece di dover scrivere tutta la routine per ogni estensione di immagini, utilizzare un'array che le contenga? perchè se faccio
    Codice PHP:
    $immagini = array('bmp', 'gif', 'jpeg', 'jpg', 'png', 'tiff');
    e lo metto al posto di 'jpg' mi da errore, come risolvo?
    grazie e auguri

  2. #2
    Guest

    Predefinito

    Funzioncina che può tornarti utile:
    Codice PHP:
    function estensione_file($nome_originale){
    $estensione_file=substr(strtolower(strrchr(trim($nome_originale),".")),0);
    return
    $estensione_file;
    }
    Ciaooo!!!!!!

  3. #3
    Guest

    Predefinito

    grazie mille debug, me la metto subito da parte (e in uso lol)
    invece per lo swith da array nessuno sa qualcosa?
    buon nasale!

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Potresti fare così:
    Codice PHP:
    switch($file_ext){
    case
    'bmp':
    case
    'gif':
    case
    'jpeg':
    case
    'jpg':
    case
    'png':
    case
    'tiff':
    echo
    '<img src="'.$file.'">';
    break;
    default:
    echo
    $file;
    break;
    }
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    provo subito grazie ^^
    ciao!

  6. #6
    Guest

    Predefinito

    Senò fai così:
    Codice PHP:
    <?php
    function is_image($img) {
    if(!(
    strpos(mime_content_type($img), "image") === false)) {
    return
    true;
    }
    return
    false;
    }
    ecco fatto ^^

  7. #7
    Guest

    Predefinito

    grazie, proverò ^^
    invece per usare il contenuto di un'array cm valori di uno switch nessuno sa niente?
    ciao!

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da SFo
    grazie, proverò ^^
    invece per usare il contenuto di un'array cm valori di uno switch nessuno sa niente?
    ciao!
    Non credo sia possibile.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    ok allora faccio un lavoro di copia->incolla cn i vari formati cm valore (oppure mi studio qualcosa di traverso...)
    ciao!

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da debug
    Funzioncina che può tornarti utile:
    Codice PHP:
    function estensione_file($nome_originale){
    $estensione_file=substr(strtolower(strrchr(trim($nome_originale),".")),0);
    return
    $estensione_file;
    }
    Ciaooo!!!!!!
    ... faccio anche io un bel copia incolla... era proprio quello che cercavo!

  11. #11
    Guest

    Predefinito

    per usare gli array devi fare:

    Codice PHP:
    function is_image($img)
    {
    $immagini = array('jpg', 'gif', 'png');
    $ext = strtolower( end( explode('.', $img) ) );
    if(
    in_array($ext, $immagini) )
    {
    return
    '<img src="' . $img . '">';
    }
    else
    {
    return
    $img;
    }
    }
    alla funzione devi passare il nome dell'immagine.

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Visto che la discussione è di 6 mesi fa, chiudo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

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