Maria D.: Dateiname gesucht

Hallo,

gibt es einen PHP-Befehl, damit ich den Namen einer Datei bekommen
ohne Extension.

Es gibt ja für die Extension
$path_parts["extension"]
für den gesamten Dateinamen
$path_parts["basename"]

Suche sowas in der Art:

nur dateiname = $path_parts["basename"]- . - $path_parts["extension"]

Hat mir bitte jemand eine Lösung.

cu

  1. Hallo!

    Suche sowas in der Art:

    nur dateiname = $path_parts["basename"]- . - $path_parts["extension"]

    Hat mir bitte jemand eine Lösung.

    Einen eigenen Befehl dafür kenn ich nicht, aber mit den String Funktionen ist das doch Ruck-Zuck gelöst.

    mfg
      frafu

    1. Bitte etwas genauer Beschreiben, Danke.

      1. Hallo!

        Bitte etwas genauer Beschreiben, Danke.

        Den letzten vorkommenden Punkt suchen (zb mit strrpos) und dann einfach den String beschneiden von Position 0 bis zur Position des letzten Punktes.

        mfg
          frafu

        1. Hi,

          Den letzten vorkommenden Punkt suchen (zb mit strrpos) und dann einfach den String beschneiden von Position 0 bis zur Position des letzten Punktes.

          /dir.neu/userdat
          /dir/.htaccess

          Hmm, scheint mir doch nicht ganz *so* einfach zu sein. =;->

          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"!
  2. Hi!

    gibt es einen PHP-Befehl, damit ich den Namen einer Datei bekommen
    ohne Extension.

    Es gibt ja für die Extension
    $path_parts["extension"]
    für den gesamten Dateinamen
    $path_parts["basename"]

    Suche sowas in der Art:

    nur dateiname = $path_parts["basename"]- . - $path_parts["extension"]

    Wie so oft findest du im Archiv reichlich Informationen - auch zu diesem Punkt:

    Grüße,
    Fabian St.

  3. Moin,

    gibt es einen PHP-Befehl, damit ich den Namen einer Datei bekommen ohne Extension.

    ich denke, dieser Beitrag zeigt doch sehr deutlich, dass dieser Ansatz problematisch ist. Was du unter "Extension" verstehst, ist wohl ein Relikt aus der DOS-Welt. Spätestens seit Windows 4.x (und auf Unix-basierten Systemen schon immer) ist der Punkt ein ganz normales Zeichen des Datei- oder Verzeichnisnamens, und das, was du als Extension bezeichnest, ist eigentlich ein integraler Bestandteil des Dateinamens. Diesen Teil abzutrennen ist normalerweise nicht sinnvoll und -wie Cybaer gezeigt hat- auch nicht immer möglich.

    Was also willst du eigentlich erreichen? Dafür gibt es dann mit Sicherheit einen eleganteren und zweckmäßigeren Ansatz.

    Schönen Sonntag noch,

    Martin

    1. Hi,

      ich denke, dieser Beitrag zeigt doch sehr deutlich, dass dieser Ansatz problematisch ist.

      IMHO zeigt der Beitrag nur die Tücken von FraFus Vorschlag!

      Fabian postete ja Archivlinks zu dem Thema. Und im ersten Thread war auch eine Funktion von mir, die diese Probleme nicht hat:

      </archiv/2005/6/t110396/#m692325>

      Dafür gibt es dann mit Sicherheit einen eleganteren und zweckmäßigeren Ansatz.

      Also zumindest mir ist das, was Du schriebst voll bewußt, und trotzdem nutze ich meine Funktion weidlich. ;-)

      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. Wobei mir jetzt auffällt, daß in

        </archiv/2005/6/t110396/#m692325>

        "nur" der Datename ermittelt wird.

        Die Dateiendung wäre dies:

        /* Ermittelt Dateiextension (ohne Trennpunkt) */
        function fileext($file,$lower=FALSE) {
         $fileext='';
         // Dateinamen ermitteln
         $filename=basename($file);
         // Position der Endung
         $extPos=strrpos($filename,'.');
         if($extPos++) { $fileext=($extPos<strlen($filename))?substr($filename,$extPos):''; }
         if($lower) { $fileext=strtolower($fileext); }
         return $fileext;
        }

        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"!