[Risolto] Get Estensione Immagine

Salve ragazzi ho un problema vorrei recuperare l’estensione di un’immagine

ho provato con


$images[0]->type

ma mi recupera:

tipo_file/estensione

La domanda è questa esiste un metodo get estensione? o devo usare per forza php per anilizare la stringa restituita?

Io utilizzo questo codice:


end(explode('.',$filename));

La funzione explode separa la stringa $filename in un array, end prende l’ultimo elemento. E’ molto pratico come snippet ed io ne sono innamorato. XD

grazie sensorio ho provato ma mi da questo errore

Only variables should be passed by reference

ed io ho fatto :


$estensione=end(explode('.',$images[0]->name));

:blink:

forse


$images[0]->name

è vuoto

no nicola il problema era che php non riesce a fare più operazioni insieme ovvero:


end(explode('.',$images[0]->name));

quindi bastava fare:




$ar = explode('.',$images[0]->name);

$estensione=end($ar);



:huh: :huh: :huh: :huh: :huh:

Non è assolutamente vero =).

:( e allora perchè in una istruzione non funzzione e su due si?

Lo dice l’errore: “Only variables should be passed by reference”. E credo sia dovuto al fatto che la tipizzazione debole di PHP non può far sapere che cosa esce da un attributo di un oggetto. Puoi passare per riferimento solo variabili. Quindi l’interprete di dice “Hey non so che cosa mi sai passando”.

Io ho suggerito questo (sbagliando):


$estensione=end(explode('.',$images[0]->name));

Tu questo (proponendo una soluzione):


$ar = explode('.',$images[0]->name);

$estensione=end($ar);

Sono quasi certo che anche questo codice sia valido:


$filename=$images[0]->name;

$estensione=end(explode('.',$filename));

si si funziona in entrambi i modi :D

+1 per la spiegazione di sensorario

è sempre buono fornire spiegazioni alle soluzioni!