Aufm Schlauch stehen mit $_SERVER['DOCUMENT_ROOT']
tox
- php
0 Sven Rautenberg0 tox0 wahsaga0 tox
0 Sven Rautenberg0 tox0 Sven Rautenberg0 tox
0 Der Dicki0 tox
Hallo,
irgendwie steh ich gerade aufm Schlauch oder leide unter Halluzinationen. Ich könnte schwören, dass
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
auf einem Webserver (leider hab ich gerade keinen zur Verfügung) bisher solche Ergebnisse wie
../
oder
./
oder
../../
erzeugt hat, quasi die Ansicht von "oben". Jetzt habe ich mir den Apache auf mein System gedonnert und da schreibt er so Schotter wie
D:/pfad1/pfad2/usw.
Also den Pfad auf meiner Platte, quasi von "unten". Pfui ich will das nicht. Was mache ich falsch?
Danke und Gruss
Moin!
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
../
Jetzt habe ich mir den Apache auf mein System gedonnert und da schreibt er so Schotter wie
D:/pfad1/pfad2/usw.
Also den Pfad auf meiner Platte, quasi von "unten". Pfui ich will das nicht. Was mache ich falsch?
Nichts machst du falsch. Deine erwarteten Ergebnisse können passieren, wenn man den Server "eigenwillig" und unüblich konfiguriert (oder du hast einfach die falsche Erinnerung), üblich sind aber in der Tat Ergebnisse, wie du sie jetzt feststellst. Die DOCUMENT_ROOT-Angabe ist in aller Regel (und alle Programmierer sollten das auch so erwarten) ein vollständiger Pfad.
Erkläre, was du eigentlich tun willst, und wir erklären, wie du das hinkriegst.
- Sven Rautenberg
Tach Sven,
Erkläre, was du eigentlich tun willst, und wir erklären, wie du das hinkriegst.
ich möchte dass mir die Variable relative Pfadangaben relativ zum Basis URI ausgibt.
Also wenn ich im Root Verzeichnis bin:
./
Oder wenn ich zwei Ebenen weiter bin:
../../
Damit meine per include eingelesenen Menüs mit ergänzenden Dateinamen die richtige Seite öffnen.
Danke und Gruss
hi,
ich möchte dass mir die Variable relative Pfadangaben relativ zum Basis URI ausgibt.
Also wenn ich im Root Verzeichnis bin:
./
Oder wenn ich zwei Ebenen weiter bin:
../../
Warum willst du dafür relative Pfadangaben haben?
Das Document_Root ist doch extra dafür gedacht, einen absoluten Bezugspunkt zu haben, der von jeder beliebigen Stelle der Verzeichnishierarchie aus den Zugriff erlaubt.
Damit meine per include eingelesenen Menüs mit ergänzenden Dateinamen die richtige Seite öffnen.
Möchtest du vielleicht stattdessen den include_path passend(er) belegen?
gruß,
wahsaga
Möchtest du vielleicht stattdessen den include_path passend(er) belegen?
Cool eigentlich, das würde zwar jetzt lokal funktionieren, aber sobald die Seiten auf einem Webserver landen, wieder nicht mehr.
Trotzdem Danke für deine Mühe
und Gruss
Moin!
Erkläre, was du eigentlich tun willst, und wir erklären, wie du das hinkriegst.
ich möchte dass mir die Variable relative Pfadangaben relativ zum Basis URI ausgibt.
Das leistet DOCUMENT_ROOT nie. Dieser Wert ist über alle Skripte hinweg konstant. Also suchst du offenbar etwas anderes.
Damit meine per include eingelesenen Menüs mit ergänzenden Dateinamen die richtige Seite öffnen.
Gibts da etwas Beispielcode?
Eigentlich kann ich dein Problem aber nicht so recht nachvollziehen. Wo sind deine Includes? Und geht es darum, die Includes wiederzufinden, oder in ihnen korrekte Links zu generieren?
- Sven Rautenberg
Gibts da etwas Beispielcode?
Das soll z.B. so aussehen:
<a href="<?php echo $root_verzeichnis; ?>/contact/index.php">Contact</a>
oder
<a href="<?php echo $root_verzeichnis; ?>/index.php">Home</a>
Eigentlich kann ich dein Problem aber nicht so recht nachvollziehen. Wo sind deine Includes? Und geht es darum, die Includes wiederzufinden, oder in ihnen korrekte Links zu generieren?
Die Includes sind dann das gleiche wieder andersherum:
include $root_verzeichnis."/inc/menu.php";
Alle Klarheiten beseitigt?
Moin!
Das soll z.B. so aussehen:
<a href="<?php echo $root_verzeichnis; ?>/contact/index.php">Contact</a>
oder
<a href="<?php echo $root_verzeichnis; ?>/index.php">Home</a>
Wenn du einen HTML-Link haben willst, der, egal auf welcher Seite, immer auf deine Startseite führt, dann nimm:
<a href="/index.php">Home</a>
Das gleiche gilt für Unterseiten:
<a href="/contact/index.php">Contact</a>
Eigentlich kann ich dein Problem aber nicht so recht nachvollziehen. Wo sind deine Includes? Und geht es darum, die Includes wiederzufinden, oder in ihnen korrekte Links zu generieren?
Die Includes sind dann das gleiche wieder andersherum:
include $root_verzeichnis."/inc/menu.php";
An dieser Stelle kommst du mit dem DOCUMENT_ROOT aber weiter. Ansonsten: Auch relative Pfadangaben sind bei include möglich - aber hier höchstwahrscheinlich nicht notwendig.
- Sven Rautenberg
<a href="/index.php">Home</a>
Tatsächlich, da hab ich den Wald vor lauter Bäume wieder nicht gesehen.
@ Dicki
Sorry, ist doch nicht Banane, ist funzz-o-mat!
Danke Euch allen
und Gruss
Hallihallo!
Damit meine per include eingelesenen Menüs mit ergänzenden Dateinamen die richtige Seite öffnen.
Es geht also anscheinend darum, Pfadangaben für Links "berechnen zu lassen". Das kann man aber auch mit HTML- Hausmitteln erreichen, indem Du einfach alle Linkziele mit einem "/" am Anfang angibst.
Dadurch wird die folgende Angabe als relativ zum "Document Root", also zum Stammverzeichnis Deiner Seite, interpretiert.
Diese Seite erklärt das genau.
Viele liebe Grüße,
Der Dicki
Hi Dicki,
Dadurch wird die folgende Angabe als relativ zum "Document Root", also zum Stammverzeichnis Deiner Seite, interpretiert.
Das stimmt zwar, aber wenn Du ein und das selbe Script von verschiedenen Ebenen aufrufst, bekommst Du Banane :-)
Danke und ebenso lieben Gruss