Günther: Teil des Dateinamens vor Dateiendung auslesen

Guten Abend

wie kann ich den Teil eines Dateinamens per PHP auslesen, der vor der Dateiendung steht?

Hieße die Datei z.B. datei.endung, so möchte ich per PHP-Befehl den String "datei" ausgegeben bekommen.

Danke

  1. Hallo Günther,

    Hieße die Datei z.B. datei.endung, so möchte ich per PHP-Befehl den String "datei" ausgegeben bekommen.

    Schau doch mal bei explode und den anderen hübschen Stringfunktionen von php.

    Gruß aus Köln-Ehrenfeld,

    Elya

    --

    keep passing the open windows.
  2. Moin Günther,

    Hieße die Datei z.B. datei.endung, so möchte ich per PHP-Befehl den String "datei" ausgegeben bekommen.

    Nun ja. Wenn im Dateinamen kein Punkt vorkommt ( was du nicht ausschließen kannst ), dann mit explode

    $Datei_String=explode('.',$Datei);
    $Datei_Name=$Datei_String[0];

    regds
    Mike©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.
    1. Hallo Mike©,

      $Datei_String=explode('.',$Datei);
      $Datei_Name=$Datei_String[0];

      bitte wende Deine Methode auf

      datei.endung.kopie

      an :-) Weitere Schritte mittels Induktion *g*

      Freundliche Grüsse,

      Vinzenz

      1. Moin Vinzenz,

        datei.endung.kopie

        an :-) Weitere Schritte mittels Induktion *g*

        Mit dem Hinweis ".. es darf kein weiterer Punkt..." habe ich glaube ich darauf hingewiesen. Es Bedarf mehrer Stringfunktionen und Abfragen um ein gültiges Ergebnis zu erhalten ;-)

        regds
        Mike©

        --
        Freunde kommen und gehen. Feinde sammeln sich an.
        1. Hallo Mike©,

          Mit dem Hinweis ".. es darf kein weiterer Punkt..." habe ich glaube ich darauf hingewiesen.

          Mein Browser weigert sich beharrlich, diesen Hinweis in https://forum.selfhtml.org/?t=94245&m=570232 anzuzeigen. Könnte das ein Bug in der Forumssoftware sein? *fg*

          Oder ein Bug meines Browsers? Ich sollte vielleicht doch endlich Firefox 1.0 installieren.

          Es Bedarf mehrer Stringfunktionen und Abfragen um ein gültiges Ergebnis zu erhalten ;-)

          Bei den Lösungswegen, die mir eingefallen sind, ist das jedenfalls so :-)

          Freundliche Grüsse,

          Vinzenz

  3. Hallo Günther,

    wie kann ich den Teil eines Dateinamens per PHP auslesen, der vor der Dateiendung steht?

    Ich gehe zunächst davon aus, dass Du basename() kennst.

    Du könntest z.B. anschließend mit strrchr() das letzte Vorkommen eines Punktes finden und mit substr() den gewünschten Teil extrahieren.

    Eine weitere Möglichkeit wäre es mit explode() explode() den Dateinamen zu zerlegen und mit implode() das resultierende Array wieder zu einem String zusammenzufassen, nachdem Du den letzten Eintrag gelöscht hast.

    Weitere Möglichkeiten gibt es garantiert ...

    Hieße die Datei z.B. datei.endung, so möchte ich per PHP-Befehl den String "datei" ausgegeben bekommen.

    Beachte bitte, dass Du den Sonderfall: Keine Endung vorhanden berücksichtigst.

    Freundliche Grüsse,

    Vinzenz

    1. hi,

      Du könntest z.B. anschließend mit strrchr() das letzte Vorkommen eines Punktes finden

      dass du Kime auf sonderfälle, die bedacht werden wollen, aufmerksam machst, ist schön - aber was machst du bei deiner lösung beispielsweise mit einem .tar.gz?

      gruß,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
      1. Hi,

        aber was machst du bei deiner lösung beispielsweise mit einem .tar.gz?

        auch sollte man versteckte Dateien berücksichtigen, .htaccess etc. Wäre ja doof, wenn die alle keinen "Vornamen" hätten.

        Gruß,
        Andreas.

  4. Danke Leute!

    Mit einer Kombination aus substr(), strrpos() und strrchr() habe ich es nun hinbekommen.