Uhfe: $_SERVER['PATH_TRANSLATED']

Hallo,

kämpfe immer noch mit der Umstellung meiner Scripte vom alten auf einen neuen Server.

In einem Script benötige ich den Pfad zum aktuellen Script

Alt: $path = AddSlashes(dirname($PATH_TRANSLATED));

habe ich umgewandelt in

Neu: $path1 = AddSlashes(dirname($_SERVER['PATH_TRANSLATED']));

von wegen register_globals und so.

Leider ist $path1 aber leer. Habe bis jetzt nix gefunden, ob der Wert gesperrt werden kann.

Hat jemand einen Tip?

Gruß

Uhfe

  1. hi,

    Alt: $path = AddSlashes(dirname($PATH_TRANSLATED));
    habe ich umgewandelt in
    Neu: $path1 = AddSlashes(dirname($_SERVER['PATH_TRANSLATED']));
    von wegen register_globals und so.
    Leider ist $path1 aber leer.

    hast du mal _ansatzweise_ versucht, selber herauszufinden, an welcher steller der ^fehler liegen könnte?

    erst mal eine kontrollausgabe machen, um zu sehen, ob $_SERVER['PATH_TRANSLATED'] überhaupt etwas enthält.
    dann mal schauen, was dirname() daraus macht; etc.

    ach ja, das error_reporting hast du hoffentlich auf E_ALL stehen.

    gruß,
    wahsaga

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

      ja, ich habe erstmal geschaut was $_SERVER['PATH_TRANSLATED'] enthält. Nämlich nix. dirname() ist dann erstmal egal. Sorry vergaß ich zu erwähnen.

      error_reporting = E_ALL

      Natürlich habe ich schon gegoogled und im Archiv gesucht, aber bis jetzt nix gefunden.

      Uhfe

      hast du mal _ansatzweise_ versucht, selber herauszufinden, an welcher steller der ^fehler liegen könnte?

      erst mal eine kontrollausgabe machen, um zu sehen, ob $_SERVER['PATH_TRANSLATED'] überhaupt etwas enthält.
      dann mal schauen, was dirname() daraus macht; etc.

      ach ja, das error_reporting hast du hoffentlich auf E_ALL stehen.

      1. n'abend,

        Natürlich habe ich schon gegoogled und im Archiv gesucht, aber bis jetzt nix gefunden.

        rtfm:
        http://de3.php.net/reserved.variables

        phpinfo();
        verrät dir auch einiges!

        weiterhin schönen abend...

        --
        wer braucht schon großbuchstaben?
    2. Ach ja,

      die anderen Server Variablen funktionieren. Jedenfalls soweit ich sie getestet habe.

      Uhfe

  2. n'abend,

    In einem Script benötige ich den Pfad zum aktuellen Script

    schonmal
    <?php phpinfo() ?>
    gemacht?
    da bekommst du alle benötigten variablen angezeigt...

    // voller pfad:
    $absolutePath = dirname($_SERVER['SCRIPT_FILENAME']); // v1
    $absolutePath = dirname(__FILE__); //v2
    // relativer pfad zum doc_root
    $relativePath = dirname($_SERVER['SCRIPT_NAME']);

    weiterhin schönen abend...

    --
    wer braucht schon großbuchstaben?
    1. Moin,

      $_SERVER['SCRIPT_FILENAME']

      liefert das gewünschte Ergebnis. Warum 'PATH_TRANSLATED' jetzt nicht geht, soll mir jetzt mal egal sein.

      Thx für die Tips

      Uhfe

    2. echo $begrüßung;

      // voller pfad:
      $absolutePath = dirname($_SERVER['SCRIPT_FILENAME']); // v1
      $absolutePath = dirname(__FILE__); //v2

      Nur zur Information: Das ist nicht immer zwangsläufig das gleiche, wie ich neulich erfahren durfte.

      Gegeben sei:

      /dir2/dir3/datei
      und /dir1, das ein Symlink auf /dir2 ist.

      Das DocumentRoot zeigt auf /dir1/dir2
      SCRIPT_FILENAME liefert /dir1/dir2/dir3/datei
      __FILE__ liefert /dir2/dir3/datei - interessiert sich also nicht für den Symlink.

      Außerdem liefert __FILE__ wenn es in einer inkludierten Datei steht deren Namen und nicht den SCRIPT_FILENAME.

      echo "$verabschiedung $name";

      1. n'abend,

        Nur zur Information: Das ist nicht immer zwangsläufig das gleiche, wie ich neulich erfahren durfte.

        Gegeben sei:

        /dir2/dir3/datei
        und /dir1, das ein Symlink auf /dir2 ist.

        Das DocumentRoot zeigt auf /dir1/dir2
        SCRIPT_FILENAME liefert /dir1/dir2/dir3/datei
        __FILE__ liefert /dir2/dir3/datei - interessiert sich also nicht für den Symlink.

        sehr interessant... vorallem da die nächste version meines systems verstärkt mit symlinks arbeiten soll... danke für den hinweis

        Außerdem liefert __FILE__ wenn es in einer inkludierten Datei steht deren Namen und nicht den SCRIPT_FILENAME.

        ist mit bewusst, aber da ich nicht wusste welchen pfad er will.. hab ich halt mal beide angegeben... ;)

        weiterhin schönen abend...

        --
        wer braucht schon großbuchstaben?