<? function chope_extension($fichier) { ereg("\.([^\.]*$)", $fichier, $beuha); return $beuha[1]; } $fichier="monfichier.exe"; print($fichier."<br>"); // monfichier.exe print(chope_extension($fichier)); // exe ?>
Pourquoi utiliser les regex alors qu'il y a plus simple (ou tout du moins plus rapide) :$ext = substr($file, strrpos('.'));On prend tout ce qui est après le dernier point :
Sinon, PHP sait le faire tout seul (fonction pathinfo($fichier)):$tablo = pathinfo($fichier) ;$extension = $tablo['extension'] ;;)Stan.
ben c klr que ces deux methodes sont beaucoup plus simples, et donc ce sont celles qui seront retenues plus facilement. Les expressions régulières c'est bien quand tu fait du PERL car iln'y a que ca.
En reponse a Dean: la syntaxe correcte c'est$ext=substr($file,strrpos($file,".")+1);
$ext=strrchr("fichier.extension",".")Ce qui renvoie .extensionsinon faire un renvoie avec substr comme le mentionne ainoy$ext=substr(strrchr("file.extension","."),1) et la pef "extension" :DPas mal Stan jsavais pas :
Je voudrais tout de même présiser que la seule méthode qui a fonctionné chez moi (peut-être parce-que je suis débutant) c'est celle de SMoG donc un grand merci à lui !
Hum... Du niveau 3 ? J'appelle ça du niveau 0 ! Tu fais 10 lignes, tu cherche à tuer une mouche au lance-roquette là ! J'aimerais sérieusement que les gens pensent à évaluer correctement leur travail ! Parce que là... Bientôt en niveau 3, on verra du "Hello World !".... Arrêtez.... Je vote 1 car c'est le plus petit....
Effectivement, j'ai souvent des fichier de type <coprs nom de fichier>.<nom de l'auteur>.<ext> ce qui fait que ton script me rendrait une extension topr longuej'utilise ceci :on 'explose' le nom du fichier en un tableau grâce aux points :$ext= explode('.',$nom_fichier);et on prend la dernière case :$ext=array_pop($ext);
nul :$nom_court= basename($fichier);
Gestion d'un "." dans le nom du fichier et du cas ou l'extension est absente:function DonnerExtension($NomFichier_P){ $Extension_L=strrchr($NomFichier_P,'.'); if($Extension_L===FALSE) { $Extension_L=""; } return($Extension_L);}
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 426 membres 435 nouveaux aujourd'hui 15 438 membres club