irato: relative Pfade

Sorry, ich kann einfach keine hilfreichen Infos über "Pfadangaben" in PHP finden!
Ich will eine php-datei aufrufen, die sich in einem übergeordneten Ordner befindet.

folgendes funktioniert (logisch!)
<?php @include_once("xy.php"); ?>
xy.php schreibt dann auch ohne weiteres in einen Datei, die in einem Unter-Ordner liegt:
$datei = "./daten/test.txt";

wenn ich aber xy.php in einem übergeordneten Ordner aufrufen will
<?php @include_once("../daten/xy.php"); ?>
dann klappt es nicht,
auch ein
<?php @include_once("http://www.xy.de/daten/xy.php"); ?>
haut nicht hin...
Was mache ich denn bloß falsch?

  1. Hallo erstmal!

    Welche Fehlermeldung wird ausgegeben?

    Gruß aus Berlin!
    eddi

    --
    Wer Rechtschreibfehler findet, darf sie behalten.
    1. Hallo eddi,

      keine, es passiert einfach nix!

      1. Moin irato,

        keine, es passiert einfach nix!

        dann lasse mal hier "@include_once" das at (@) weg.
        Es unterdrückt die Fehlermeldung.

        regds
        Mike©

        --
        Freunde kommen und gehen. Feinde sammeln sich an.
        1. Hi Mike©
          ich glaube ich hab´s: die php ist ein Counter und der verarbeitet irgendwie die URL nur dann richtig, wenn er auf der gleichen Ebene liegt wie die Datei, die er zählen soll.

  2. folgendes funktioniert (logisch!)
    <?php @include_once("xy.php"); ?>
    xy.php schreibt dann auch ohne weiteres in einen Datei, die in einem Unter-Ordner liegt:
    $datei = "./daten/test.txt";

    wenn ich aber xy.php in einem übergeordneten Ordner aufrufen will
    <?php @include_once("../daten/xy.php"); ?>

    auch ein
    <?php @include_once("http://www.xy.de/daten/xy.php"); ?>

    Was mache ich denn bloß falsch?

    nimm doch einen absoluten Pfad, da kann nicht soviel schief gehen:
    $root = $_SERVER['DOCUMENT_ROOT'];
    include_once($root . "/daten/" . 'xy.php');

    1. Hallo!

      nimm doch einen absoluten Pfad, da kann nicht soviel schief gehen:
      $root = $_SERVER['DOCUMENT_ROOT'];
      include_once($root . "/daten/" . 'xy.php');

      das kann auch nach hinten losgehen: http://forum.de.selfhtml.org/archiv/2006/1/t122348/#m786908

      Gruß aus Berlin!
      eddi

      --
      Wer Rechtschreibfehler findet, darf sie behalten.
      1. Hi,

        das kann auch nach hinten losgehen: http://forum.de.selfhtml.org/archiv/2006/1/t122348/#m786908

        1. Deswegen testet man ja auch *immer* DOCUMENT_ROOT zu Beginn seines Scripts und initialisiert es ggf. neu, wenn man systemübergreifend scriptet. ;-) Ebenso verfahren sollte man übrigens mit dem im verlinkten Beitrag erwähnten SCRIPT_FILENAME. (überhaupt sollte man sich nicht auf das Vorhandensein der meisten $_SERVER-Variablen verlassen.)
        2. Wenn der IIS kein DOCUMENT_ROOT kennt, dann hat der Admin schlicht Mist gebaut (dem man, s. 1., natürlich in weiser Voraussicht entgegenwirkt - man kennt ja die "MS-Experten" >;->). Ein korrekt konfigurierter IIS hat aber (natürlich) auch ein korrekt gesetztes DOCUMENT_ROOT! =:-o

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

    Was mache ich denn bloß falsch?

    Irgendwas, was Du bislang verheimlichst.

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