Josef: Dateiname & Endung trennen

Hi!

Wie kann ich in PHP den Dateinamen von der Endung trennen?

Ich hab also einen string $dateiname = "test.jpg" und will am Schluss zwei strings $name = "test" und $endung = "jpg".

Danke
Josef

  1. Ich hab also einen string $dateiname = "test.jpg" und will am Schluss zwei strings $name = "test" und $endung = "jpg".

    $parts = explode('.', $dateiname);  
    echo $parts[1];
    

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)
    1. Hallo,

      $parts = explode('.', $dateiname);

      echo $parts[1];

      Das ist ein bischen doof bei Dateinamen wie foo.inc.php  
        
      ~~~php
      $parts = explode('.', $filename);  
      $endung = array_pop($parts);  
      $name = join('.', $parts);
      

      Jeena

      1. Das ist ein bischen doof bei Dateinamen wie foo.inc.php

        Nun sei mal nicht so pingelig ;)

        Siechfred

        --
        Ich bin strenggenommen auch nur interessierter Laie. (molily)
        1. Hallo,

          Das ist ein bischen doof bei Dateinamen wie foo.inc.php
          Nun sei mal nicht so pingelig ;)

          Ich schrieb doch dass es ein "bisschen" doof ist :-P

          Jeena

          1. Danke!

            Also ich find das mit dem Punkt schon wichtig!

            lg
            Roland

      2. Hi Jeena,

        $parts = explode('.', $filename);

        $endung = array_pop($parts);
        $name = join('.', $parts);

          
        besser, IMHO, [pathinfo()](http://de.php.net/manual/en/function.pathinfo.php), weil sie alles liefert, was man braucht:  
          
        $ php -r 'var\_dump(pathinfo("foo.inc.php"));'  
        array(4) {  
          ["dirname"]=>  
          string(1) "."  
          ["basename"]=>  
          string(11) "foo.inc.php"  
          ["extension"]=>  
          string(3) "php"  
          ["filename"]=>  
          string(7) "foo.inc"  
        }  
          
        Gruß,  
        Andreas.
        
        1. Hi,

          besser, IMHO, pathinfo(), weil sie alles liefert, was man braucht:

          Wobei man erwähnen sollte, daß pathinfo() ein falsches Ergebnis gibt, wenn man es auf versteckte *nix-Dateien ohne Dateiendung anwendet:

          var_dump(pathinfo(".htaccess"));

          Ich verwende daher lieber meine eigene Funktion: </archiv/2005/10/t117739/#m755327>

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. Hi Cybaer,

            Wobei man erwähnen sollte, daß pathinfo() ein falsches Ergebnis gibt, wenn man es auf versteckte *nix-Dateien ohne Dateiendung anwendet:

            in der Tat. Danke für die Richtigstellung.

            Ich verwende daher lieber meine eigene Funktion: </archiv/2005/10/t117739/#m755327>

            die macht es richtig.

            Gruß,
            Andreas.

  2. Hallo

    Wie kann ich in PHP den Dateinamen von der Endung trennen?

    Ich hab also einen string $dateiname = "test.jpg" und will am Schluss zwei strings $name = "test" und $endung = "jpg".

    Die Stringfunktionen von PHP kennst du? Da findet sich allerhand, um diese Aufgabe zu erfüllen. Schließlich ist ja nur ein String an einer vordefinierten Stelle zu trennen.

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.1