Dynamische Links, wie genau?
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
angeben
beispiel
besagte datei
code
datei
datenbank
dokument
domain
ersten beispiel
file
folgende url
hilfsmittel
liegende datei
operation
ordern
ordner
pfad
test
url
verzeichnis
-
Abend liebe Community,
ich bin gerade auf ein simples, aber schweriegendes Problem beim coden eines CMS Systems gestoßen, nämlich wie kann ich dynamische URLs eingeben, dass ich ein Dokument aus nem order vorher includen kann?
Bildlich: html/limabone/test/order1/order2/ usw....
Wie kann ich die Url angeben, um ein File von dem Order "test" in einem File im Order "order2" zu includen? Ich habs bis jetz immer mit
../limabone/test/namedesfiles.php versucht, aber ging nicht...
MfG Limabone -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ich hab ne Datei, in die ich die zugangsdaten für die datenbanken hab, und die möchte ich auf jeder seite includen, egal wo diese jetzt gerade liegt.
Anderes Beispiel: html/limabone/cms/includes/
Die Datei liegt im Order limabone. Wie muss jetzt die URL aussehen, wenn ich bei einer Datei, die im Order inlcudes liegt, diese besagte Datei includen will?
ETWA
oder../cms/includes/
/cms
EDIT: Bitte helft mir!
Beitrag zuletzt geändert: 2.11.2009 21:31:41 von limabone -
Also ich versteh grad nich ganz was du willst! Wenn du Zugangsdaten für eine Datenbank in eine Datei schreibst, nenn diese Datei einfach config.php
Ich include dann so:
<?php include("login/include.php"); ?> <--- in dieser Datei werden alle Datei includet die dann für mein Projekt wichtig sind unter anderem auch die config.php in der die Zugangsdaten für die Datenbank stehen!
d. h. für deinen Fall würde ich mit /cms anfangen den Link zu schreiben!
Hoffe ich konnte helfen! -
Bei allen PHP-Operationen kannst du durch "/../" einen Ordner höher wechseln, also in deinem Beispiel der Verzeichnisstruktur (ich hab bei "Ordner" mal das "n" mit reingemacht) "html/limabone/test/ordner1/ordner2/" von "ordner2" in "ordner1". Wenn die ausführende Datei also in "ordner1" liegt, und du die in "ordner2" liegende Datei "config.php" includen willst, dann schreibst du
Wenn in "ordner1" noch ein Ordner "includes" liegt, und sich darin die "config.php" befindet schreibst duinlcude('../config.php');
inlcude('../includes/config.php');
Bei deinem Beispiel ist der Ordner "test" 2 Ebenen höher, als das Verzeichnis, in dem die ausführende Datei liegt. Die Lösung lautet also:inlcude('../../config.php');
mfg drafed-map
Beitrag zuletzt geändert: 9.11.2009 13:19:18 von drafed-map -
So schwer ist das doch nicht zu verstehen.
Gegeben ist folgende Ordnerstruktur:
/ |_Ebene1/ |_Ebene2/ |_Ebene3/ |_Ebene4
der erste (linkr) Slash repräsentiert den root, also die oberste erreichbare Ebene.
Eine Datei in Ebene3 ist, relativ vom root gesehen erreichbar über den Pfad
/Ebene1/Ebene2/Ebene3/Ebene4/Datei_in4
aus dieser Datei kann ich eine Datei in Ebene2 in unterschiedlicher Weise ansprechen.
1. bezogen auf den root mit /Ebene1/Ebene2/Datei_in2
2 bezogen auf die Ebene, in der ich mich befinde ../../Datei_in2
Für die 2. Variante gibt es als Hilfsmittel die DOTS
wobei ein Dot . die aktuelle Ebene repräsentiert (DateiXY ist also identisch zu ./DateiXY )
zwei Dots die übergeordnete Ebene
Limabone, genau da liegt der Fehler in deinem ersten Beispiel.
Bildlich: html/limabone/test/order1/order2/ usw....
Wie kann ich die Url angeben, um ein File von dem Order "test" in einem File im Order "order2" zu includen? Ich habs bis jetz immer mit
../limabone/test/namedesfiles.php versucht, aber ging nicht...
Wenn Du dich im Ordner 2 befindest und eine Datei aus Test includen willst, wäre folgende URL korrekt ../../namedesfiles.php, oder /limabone/test/namedesfiles.php
die URL ../limabone/test/namedesfiles.php verweist hingegen auf html/limabone/test/order1/limabone/test/namedesfiles.php, da Du dich relativ nur eine Ebene hochdottest und dann zwei, nichtexistente Ebenen hinabsteigst.
Gerade bei Dateien, die aus verschiedensten Ebenen hheraus aufgerufen werden können, sollten Pfade nie relativ sondern immer vom root ausgehend angegeben werden. Hilfreich stellt php dafür $_SERVER["DOCUMENT_ROOT"] zur Verfügung.
FF
Beitrag zuletzt geändert: 9.11.2009 13:27:53 von fatfreddy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage