10
votes

PHP - Décapage de l'extension d'une chaîne de nom de fichier

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 xxx

Qui retourne une chaîne vide.

Je ne vois pas ce que je fais mal?


0 commentaires

6 Réponses :


22
votes

Recherche pathinfo je crois. Du manuel: xxx

résultat: xxx

Économisez-vous un mal de tête et utilisez une fonction déjà construite. ; -)


5 commentaires

Vous m'avez battu à 35 secondes: p


Le problème est que l'OP n'a que le fichier nom , pas le chemin complet sur le fichier .


@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 () uniquement travaillé avec des chemins / fichiers valides. Possédé: x



7
votes

Vous devez utiliser pathinfo code> qui est fait faire ça.

exemple: strong> Les choses utilisées: pathinfo () code> p> xxx pré>

résultats: p> xxx pré>


exemple 2 (plus court) strong> p>

Name: file


1 commentaires

Merci pour cela ... Exemple 2 a sauvé la journée.



1
votes

Cette fonction très simple fait l'astuce: xxx


1 commentaires

Vous échappez au personnage d'échappement? Est-ce nécessaire?



1
votes

Voici un court. Sachez simplement si vous passez un chemin, vous perdrez l'info cheming :) xxx

CodePad .

Le seul avantage réel de celui-ci est si vous exécutez


0 commentaires

0
votes
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

1 commentaires

Vous pouvez simplement utiliser pathinfo ($ FileName, pathinfo_extension) pour obtenir une chaîne de retour au lieu d'avoir besoin d'appeler Isset () sur le tableau.



0
votes

Prouré probablement pas le plus efficace, mais cela répond à la question. XXX


0 commentaires