php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
dirname(__FILE__) - Ajax Problem!


 
Gamer20
09-01-2009, 17:20 
 
wenn ich per ajax ein script in ein div rein lade und ich in diesem PHP script eine datei aus dem Root einbinden will, muß ich ja folgenden Code verwenden:



dirname(__FILE__)

bzw.

include(dirname(__FILE__).'/../datum.inc.php');


jetzt will ich aber eine datei mit dem namen datum2.inc.php aus einem anderen unterverzeichnis einbinden!

wie muß da die Synthax lauten?

 
XGremliN
09-01-2009, 17:46 
 
dann musst du einen parameter an dein script übergeben und anhand dessen unterscheiden, was includet werden soll

 
Gamer20
09-01-2009, 20:05 
 
kann ich mir den pfad net zusammen basteln?

(so ähnlich wie beim autofahren, wenn man falsch abgebogen ist -> zurück zur Kreuzung [Rootverzeichnis] und dann die andere Abfahrt nehmen [anderes Unterverzeichnis])

sonst muß ich wohl mein datum2.php script in jedes unterverzeichnis kopieren.

 
Kropff
09-01-2009, 20:20 
 
muß ich ja folgenden Code verwenden:
also zunächst mal zwingt dich keiner, mit dirname zu arbeiten. und das sieht imho auch ziemlich seltsam aus:
include(dirname(__FILE__).'/../datum.inc.php');
warum arbeitest du nicht mit einer sauberen struktur und packst z.b. alle inc-dateien in einen ordner selbigen namens. sieht mir eher nach einem design-fehler aus.

sieht außerdem nach einem php-problem aus, daher * verschieb *

peter

 
fireweasel
09-01-2009, 22:01 
 
Original geschrieben von Gamer20
wenn ich per ajax ein script in ein div rein lade ...
Was hat das mit AJAX zu tun?

... und ich in diesem PHP script eine datei aus dem Root einbinden will, muß ich ja folgenden Code verwenden:

dirname(__FILE__)
bzw.
include(dirname(__FILE__).'/../datum.inc.php');

Musst du nicht.


jetzt will ich aber eine datei mit dem namen datum2.inc.php aus einem anderen unterverzeichnis einbinden!

wie muß da die Synthax lauten?
Meinten Sie syntax (http://www.google.de/search?hl=de&q=synthax)?
*SCNR*

Wie lautet der Name des anderen Unterverzeichnisses? Wenns neben dem liegt, in dem das aktuell ausgeführte Script liegt, dann bastelst du dir den relativen Pfad so zusammen:


dirname(__FILE__) . '/../' . $anderes_verzeichnis . '/datum2.inc.php';

War das jetzt sooo schwer? ;-)

(...) sonst muß ich wohl mein datum2.php script in jedes unterverzeichnis kopieren.

Wozu? Überleg dir 'ne vernünftige Verzeichnisstruktur und einen gemeinsamen Ort, wo du alle deine PHP-Scripts ablegst. Und wenn wir schon dabei sind: "datum2.php" klingt nicht sehr überlegt gewählt. Da würde ich die AJAX-Basteleien erstmal zurückstellen und nochmal zurück in die Planungsphase für die Server-seitigen Scripts gehen.

 
Gamer20
11-01-2009, 07:48 
 
so hat wunderbar geklappt, hatte das vorher nur falschrum, erst das verzeichnis dann die striche mit punkten.

die struktur bzw. dateinamen waren nur beispiele, real habe ich es anders. mir ging es nur um das zusammenbasteln des pfades!

 
martin2
11-01-2009, 11:30 
 
um zukünftig diese Pfadproblematik ganz auszuschalten und
Klassen (und alles sollte Klasse sein :-) ) automatisch einzubinden

http://de3.php.net/autoload

 
fireweasel
12-01-2009, 00:45 
 
Original geschrieben von martin2
um zukünftig diese Pfadproblematik ganz auszuschalten und
Klassen (...) automatisch einzubinden

http://de3.php.net/autoload

__autoload() hilft dir beim Pfade-Zusammenkleben aber kein Bisschen weiter, das musst du auch weiterhin selbst erledigen und zwar mit den PHP-Pfadfunktionen (die zugegebenermaßen eine Zumutung darstellen).

... (und alles sollte Klasse sein :-) ) ...
Wieder einer, der gerade im Informatik-Einstiegskurs die OOP als die allein selig machende Programmiertechnik entdeckt hat. :-)
*SCNR*

Lies mal lieber ein gutes Buch ... (http://mitpress.mit.edu/sicp/)


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:30 Uhr.