Felix S.: virtuelle Ordner

Einen wunderschönen guten Morgen,
folgende Situation:

Ich habe einen Ordner auf einem Webserver:

%root%/www/system/

Dort ist ein System, das je nach User verschiedene Dateien einbindet.

Beispiel:

http://%root%/www/system/?user=loremipsum

in einer Datebank ist hinterlegt, dass user "loremipsum" seine Files auf dem Server unter

%root%/www/system/ext_files/sys/user/h7sQ09sBSZQsah

gespeichert hat.

Nun möchte ich, dass User loremipsum seine Files aus diesem Ordner per myfolder/Dateiname einbinden kann.

Bsp:

Datei: %root%/www/system/ext_files/sys/user/h7sQ09sBSZQsah/bilder/elchtest.jpg

Einbindung über: <img src="myfolder/bilder/elchtest.jpg">

Dazu habe ich einen Ordner "myfolder" mit einer index.php angelegt.
Wenn diese nun aufgerufen wird, mit z.B.:

myfolder/index.php?file=bilder/elchtest.jpg

funktioniert das ja auch wunderbar, Datei wird 1:1 ausgegeben, ist ja gar kein Problem.

Aber: Ich möchte, dass ich das ganze nun nicht mehr mittels index.php?file=... aufrufen muss, sondern, dass ich sozusagen einen softlink direkt in den Zielordner habe.

Wenn ich also aufrufe "myfolder/bilder/elchtest.jpg", soll er "%root%/www/system/ext_files/sys/user/h7sQ09sBSZQsah/bilder/elchtest.jpg" einbinden. Und zwar ohne Weiterleitung.

Sprich: Ich brauche irgendwie irgendwas, das mir alles hinter myfolder/ als String in die myfolder/index.php übergibt, damit ich es da ausgeben kann.

Und "nur" ein Softlink geht eben nicht, weil es mehrere User (unbegrenzte Anzahl von Usern) gibt, und für jeden ein anderes Verzeichnis eingebunden werden muss.

Am Besten wäre es, wenn es mir wie erwähnt, den "virtuellen Ordner", also eben alles nach myfolder/ als String in die index.php legt.

Ich habe da mal was gelesen, dass man das mit .htaccess machen könnte, hab aber leider nichts mehr darüber gefunden...

Vielen Dank schonmal für eure Bemühungen

  1. hi,

    Sprich: Ich brauche irgendwie irgendwas, das mir alles hinter myfolder/ als String in die myfolder/index.php übergibt, damit ich es da ausgeben kann.

    Wenn myfolder selber das Script wäre, dann hättest du alles was danach kommt in der Umgebungsvariable PATH_INFO zur Verfügung.

    Aber auch für jeden User einen eigenen Ordner oder ein eigenes Script zu erstellen, ist eigentlich überflüssig - Stichwort: mod_rewrite.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga und danke für deine schnelle Antwort :-)

      Wenn myfolder selber das Script wäre, dann hättest du alles was danach kommt in der Umgebungsvariable PATH_INFO zur Verfügung.

      Das ist eine sehr gute Idee, aber leider habe ich nur einen Benutzeraccount auf dem Server und kann somit nicht an die php-Einstellungen.
      Oder kann ich als "user" irgendwie festlegen, dass Dateien ohne Endung auch geparst werden sollen?

      Aber auch für jeden User einen eigenen Ordner oder ein eigenes Script zu erstellen, ist eigentlich überflüssig - Stichwort: mod_rewrite.

      Ja, ich möchte ja nur einen Ordner.
      Und eigene Unterordner auf dem Server intern brauche ich schon, da die User ihre Dateien per FTP hochladen und somit einen eigenen Ordner brauchen :-)

      Die Ordner werden automatisch erstellt, es geht ja eben nur darum, dass mir der Server die angeforderte URL ins Script übergibt und nicht einen 404-Error bringt, weil es die Zieldatei nicht gibt ;-)

      Felix.

      1. hi,

        Oder kann ich als "user" irgendwie festlegen, dass Dateien ohne Endung auch geparst werden sollen?

        <Files>, ForceType

        Ja, ich möchte ja nur einen Ordner.

        Also soll "myfolder" nicht für jeden Nutzer ein eigener Ordner sein?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo

          Oder kann ich als "user" irgendwie festlegen, dass Dateien ohne Endung auch geparst werden sollen?

          <Files>, ForceType

          Und wo kann ich das einstellen?
          in einer .htaccess?
          Und was gebe ich dann als <Files> an, wenn es keine Endung ist?

          "", php

          ?

          Ja, ich möchte ja nur einen Ordner.

          Also soll "myfolder" nicht für jeden Nutzer ein eigener Ordner sein?

          Nein ;-)
          "myfolder" ist nur der "Dummy".
          Bisher werden die Dateien über "myfolder/index.php?datei=DATEI" aufgerufen.
          Der einzige Ordner im System heisst also "myfolder", sodass nicht jeder User extra /lange_verzeichnisstruktur für jede Datei eingeben muss, sondern eben nur myfolder/DATEI.
          Und die "realen" Ordner sind ganz woanders.
          In welchen realen Ordner der Ordner "myfolder" linken soll, wird mittels des Usernamens in der Session ermittelt.

          Gruß Felix :)

          1. hi,

            Oder kann ich als "user" irgendwie festlegen, dass Dateien ohne Endung auch geparst werden sollen?

            <Files>, ForceType

            Und wo kann ich das einstellen?
            in einer .htaccess?

            RTFMchen

            Und was gebe ich dann als <Files> an, wenn es keine Endung ist?

            Den Namen - RTFM ...

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hallo,

              Den Namen - RTFM ...

              Ja sorry.
              Mach ich.

              Danke, Felix.