PHP PHP findet Dateien über absolute Pfadangabe nicht

darton

Lt. Junior Grade
Registriert
Okt. 2004
Beiträge
282
Hallo!
Ich binde alle meine Skripte, Bilder, CSS-Dateien etc. über absolute Pfadangaben relativ zur Basis-URL ein. Für eine CSS-Datei steht da z.B. drinne:
Code:
href="/projekt/style/layout.css"
Wenn ich aber eine PHP-Datei inkludiere, funktioniert das ganze nicht. Also der Code dazu sieht so aus:
Code:
require "/projekt/src/skript.php";
Über HTML-Dateien werden Bilder, js-Dateien, css-Dateien usw. alle mit absoluten Pfadangaben gefunden, aber wenn ich in PHP absolute Pfadangaben wie oben verwende, dann wird die Datei nicht gefunden. Woran liegt das?
 
Muss ein Script nicht mit "include" eingefügt werden? Ich bin zwar PHP-Anfänger, aber so hatte ich das gelernt. btw: du willst es "inkludieren" da passt include doch gut? Ich kann zumindestens mit include Skripte einbinden, auch aus Unterverzeichnissen.
 
Das ist aber keine absolute Angabe. Absolut wäre /home/bla/projekt. Ansonsten steht dein absoluter Pfad aber sowieso in der Fehlermeldung vom require.
Probiers mal mit require "./projekt/src/skript.php"; oder eben dem wirklich absolutem Pfad.
 
Stimmt, so wie du es aufgeschrieben hast wäre es ein relativer Pfad. Relativ zur php Datei die die externe PHP Datei benutzen soll.
 
Hmm...da habt ihr wahrscheinlich Recht. Aber was ist denn der absolute Pfad bei dem wamp-Server?
 
darton schrieb:
Hmm...da habt ihr wahrscheinlich Recht. Aber was ist denn der absolute Pfad bei dem wamp-Server?

Absolut heißt einfach der vollständige Pfad von der Wurzel bis zum Ziel, völlig unabhängig davon welchen Server du einsetzt. Warum die Vorposter hier mit Gewissheit sagen können, dass deine Angabe kein absoluter Pfad ist, erschließt sich mir auch nicht! Auf Unixoiden Systemen kann das durchaus ein abolsuter Pfad sein - und bis zu deinem letzten Posting war nicht klar, dass es hier um Windows geht.
 
Ich weiß nicht ob das Problem schon gelöst ist, aaaber:

in HTML kannst du ja die Pfade angeben wie du willst, aber soweit ich weiß versteht php keine absoluten Pfade.

Die Pfade müssen immer von der Datei ausgehen die gerade läuft. D.h.:


(absolute Pfade)
/www/htdocs/programme/datei.php |die ausgeführte datei
/www/htdocs/hpdateien/stylesheet.css |die einzubindende Datei

PHP:
include ('../hpdateien/stylesheet.css');


Und der unterschied zwischen include und require ist folgender:
Wenn include die Datei nicht findet dann gibts ne kleine fehlermeldung
wenn require sie nicht findet bricht das programm ab :)


Ich hoffe ich konnte helfen

MfG
Akira
 
Zurück
Oben