dubbi sul codice

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
ciao
ho trovato in un tutorial questa "elegante" riga per ricavare l'estensione di un file

$estensione=substr($file, strrpos($file, '.') + 1);

come ho detto elegante, ma mi fa venire un "piccolo" dubbio, se il file si chiama pinco.php ottengo php, ma si chiamasse citando un frequente caso es config.incl.php
cosa restituirebbe la riga sopra?

a mio parere chi progetta uno script dovrebbe seguire il principio: "a prova di stupido", non sarebbe meglio una soluzione del genere

$cerca=explode(".",$file);
$quale=count($cerca)-1;
$estensione=".".$cerca[$quale];

sbaglio o sono troppo "sospettoso"?

ho scritto nell'OT anche se le righe sono in php perchè secondo me il princio citato andrebbe seguito indipendentemente dal linguaggio utilizzato
@alex: per questo non ho taggato il codice
 
Se avesse usato strpos per cercare il "." avresti avuto ragione, ma dato che usa strrpos (notare la "erre" aggiuntiva) funziona anche in presenza di diversi ".", dato che ritorna la posizione dell'ultimo.
 
@eliox
ciao
da come si è sviluppata si, ma da quello che intendevo (avendo interpretato male il codice) no in quanto volevo (sbagliando) evidenziare un errore di logica non di linguaggio
 

Discussioni simili