url korrekt zusammenbauen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • url korrekt zusammenbauen

    hallo,

    gibt es eigentlich eine klasse bzw. kennt jemand ein script, welches aus einer unvollständigen eine vollständige URL baut, z.b. wenn als verlinkung einfach nur ../datei.html dient wird daraus dann http://host/path/datei.html.

    grüsse
    lukas

  • #2
    der host ist ja z.B. in der variablen $HTTP_HOST gespeichert und kann dann natürlich bei jeder aufgerufenen datei ergänzt werden.
    auch der absolute pfad zur ROOT der seite ist in der variablen
    $DOCUMENT_ROOT gespeichert.

    das problem ist der pfad von der document_root bzw. dem host zu der angesprochenen datei.

    diese information liegt meines erachtens gar nicht vor und kann deshalb auch nicht ergänzt werden.

    selbst wenn man alle dateiennamen inklusive pfad auf dem server in eine mysql-tabelle einlesen würde und dann dort nach der entsprechenden datei suchen würde, so hätte man ein problem, wenn eine dateiname doppelt auftritt.
    ein weiteres problem tritt auf, wenn z.B. per ftp neue dateien auf den server geladen werden.
    man müsste also bei jedem seitenaufruf, ja eigentlich bei jeder url ergänzung diese mysql-tabelle aktualisieren.
    das würde die seite zweifelsohne ungeheuer langsam machen.

    also ich vermute mal, dein problem ist nicht programmtechnisch zu lösen, da es logische unlösbare proleme enthält ;-)
    Kostenlose Werbung für Ihre Website

    Kommentar


    • #3
      Original geschrieben von berthold
      also ich vermute mal, dein problem ist nicht programmtechnisch zu lösen, da es logische unlösbare proleme enthält ;-)
      nicht ganz ....

      zuerst solltest du aber bitte $_SERVER['DOCUMENT_ROOT'] und
      $_SERVER['HTTP_HOST'] verwenden. das ist einfach sauber(er).

      und in __FILE__ steht der path und dateiname der aktuellen datei drin. auch wenn diese includet wird. mit dirname(__FILE__) bekommst du den aktuellen path der datei.

      nun kannst du die differenz zwischen $_SERVER['DOCUMENT_ROOT'] und dirname(__FILE__) bilden. -> str_replace() dürfe reichen.

      nun hast du den webpath zur aktuellen datei. wenn du nun weisst, wo (relativ gesehen) die andere datei ist, brauchst du nur noch den relativen path angegeben.

      aber ehrlich gesagt, ist mit ein include via $_SERVER['DOCUMENT_ROOT'] oder ein link immer via / lieber. es ist einfach einfacher.

      und in der index.php oder config.inc.php, welche sich im root des projektes liegt kann man auch fix ein dirname(__FILE__) für die includes machen. für das webroot eben die o.g. differenz bilden. oder beiden fest in einer var von hand angeben. so muss das ganze nicht jedesmal neu ermittelt werden. denn wie oft pro sekunde ändert sich der webspace.. :_D
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        ich hatte die frage auch anders verstanden.

        es ist richtig, dass man aus einem relativen pfad einen absoluten machen kann.
        dazu liegen in der tat alle infos vor.

        ich hatte die frage so verstanden, dass auf eine beliebige datei in einem webspace verlinkt wird, bzw. ein bliebige graphik angezeigt werden soll, von der lediglich der name bekannt ist, nicht aber der standort.
        Kostenlose Werbung für Ihre Website

        Kommentar


        • #5
          danke euch beiden, ich werde das mal so versuchen.

          Kommentar

          Lädt...
          X