par
AB » 09 déc. 2008, 19:36
Et bien si tu apprends, mission remplie
Maintenant imaginons que tu veuilles faire l'inverse, c'est à dire trouver l'extension d'un fichier.
En utilisant la même fonction substr() tu peux faire :
$nom_fichier = 'monfichier.php5';
$extension_fichier = substr(strrchr($nom_fichier,'.'),1);
echo 'extension fichier = '.$extension_fichier;
On pourrait obtenir le même résultat en utilisant les fonctions des tableaux :
$nom_fichier = 'monfichier.php5';
$tab_fich = explode(".", $nom_fichier);
$extension = array_pop($tab_fich);
$fichier_sans_extension = implode('.',$tab_fich);
echo 'extension = '.$extension.'<br/>';
echo 'fichier sans extension = '.$fichier_sans_extension;
Ou encore toujours la même chose avec des expressions régulières puisque c'était le titre de ton post
$nom_fichier = 'monfichier.php5';
$fichier_sans_extension = preg_replace("#.[a-zA-Z0-9]{2,}$#",'',$nom_fichier);
echo 'fichier sans extension = '.$fichier_sans_extension;
echo '<br />';
preg_match("#[a-zA-Z0-9]{2,}$#",$nom_fichier,$array);
if (isset($array[0])) echo 'extension fichier = '.$array[0];
Mais j'aurais plutôt tendance à déconseiller les expressions régulières pour des choses aussi simples car cela demande plus de ressources pour le serveur.
Je te conseille plutôt de comprendre les deux premières solutions qui seront plus instructives dans un premier temps.