Je veux éliminer l'extension d'un nom de fichier et obtenir le nom de fichier - par exemple. fichier.xml -> fichier, image.jpeg -> image, test.march.txt -> test.march, etc.
donc j'ai écrit cette fonction p> Qui retourne une chaîne vide. P> Je ne vois pas ce que je fais mal? P> P>
6 Réponses :
Recherche résultat: p> Économisez-vous un mal de tête et utilisez une fonction déjà construite. ; -) em> p> p> pathinfo code> je crois. Du manuel:
Vous m'avez battu à 35 secondes: p
Le problème est que l'OP n'a que le fichier nom B>, pas le chemin complet sur le fichier b>.
@Dosboy :: souffle les doigts et les re-holsters à côté: ;-)
Heck, je suis ninja'd mais j'ai des exemples de propres exemples :)
Mon mauvais, je pensais pathinfo () code> uniquement travaillé avec des chemins / fichiers valides. Possédé: x
Vous devez utiliser pathinfo code> qui est fait faire ça.
résultats: p> exemple 2 (plus court) strong> p> pathinfo () code> p>
Name: file
Merci pour cela ... Exemple 2 a sauvé la journée.
Cette fonction très simple fait l'astuce:
Vous échappez au personnage d'échappement? Est-ce nécessaire?
Voici un court. Sachez simplement si vous passez un chemin, vous perdrez l'info cheming :) CodePad . p> Le seul avantage réel de celui-ci est si vous exécutez
function strip_extension($filename){
if (isset(pathinfo($filename)['extension'])) { // if have ext
return substr($filename, 0, - (strlen(pathinfo($filename)['extension'] +1)));
}
return $filename; // if not have ext
}
You must verify if the filename has extension to not have errors with pathinfo. As explained in http://php.net/manual/en/function.pathinfo.php
Vous pouvez simplement utiliser pathinfo ($ FileName, pathinfo_extension) code> pour obtenir une chaîne de retour au lieu d'avoir besoin d'appeler Isset () sur le tableau.
Prouré probablement pas le plus efficace, mais cela répond à la question.