Anfängerfrage

Inspector

Erfahrenes Mitglied
Hi,

da ich gerade (im Selbststudium) php lerne und damit noch ziemlich am Anfang stehe, hoffe ich, dass mir Niemand diese Frage hier übel nimmt. Und vielleicht kann man diesen Tread auch allgemein für Alle für Anfängerfragen offen halten.

Also, ich muss aus dem php Script heraus ein paar Dateien erstellen, kopieren oder sonstwie manipulieren. Dazu brauche ich natürlich Informationen darüber, wohin mit diesen Dateien. Was ich gefunden habe sind ein paar Variablen, die php anscheinend setzt. Aber dazu habe ich ein paar Fragen.

  1. Was ist eigentlich der Unterschied zwischen $_SERVER['HTTP_HOST'] und $_SERVER['SERVER_NAME']?
  2. Wie verlässlich ist $_SERVER['DOCUMENT_ROOT']? Hat das immer den "trailing slash"? Kann man immer davon ausgehen, dass das gesetzt ist? Wenn nein, gibt es brauchbare Alternativen?
  3. Was genau enthält $_SERVER['SCRIPT_FILENAME']?

Es scheint zwar jetzt hier zufriedenstellend zu funktionieren, nachdem ich das Verzeichnis für den apache-user schreibbar gemacht habe. Aber ich möchte doch ganz gerne ein bisschen genauer wissen, mit was ich hier rumspiele :)

Danke,
Inspector
 
HTTP_HOST enthält den im HTTP-Header-Feld „Host“ übergebenen Wert, SERVER_NAME hingegen (eigentlich) den im Webserver eingestellten Servernamen. Letzteres ist aber auch vom HTTP_HOST-Wert abhängig (siehe Chris Shiflett: SERVER_NAME Versus HTTP_HOST).
DOCUMENT_ROOT enthält den absoluten Pfad zum aktuellen Host und besitzt nie einen abschließenden Schrägstrich.
SCRIPT_FILENAME enthält den absoluten Pfad zum aktuell ausgeführten Skript.

Weitere Erläuterungen findest du auch im Kapitel der vordefinierten Variable $_SERVER.
 
Danke, das hilft schon mal sehr weiter.

Ich habe allerdings gleich die nächste Frage :)

Also, ich habe in php5 eine Klasse, abgeleitet von DOMDocument. Darin habe ich zwei Variablen. Die eine davon zeigt auf das Wurzelemlement, das da vielleicht vorhanden ist, die andere auf ein bestimmtes Unterelement. Angenommen, ich habe da bereits einen ganzen Baum voller DOMNode drin und will das Ganze jetzt aber aus einer Datei laden. Muss ich dann die bisherigen DOMNode Objekte explizit löschen? Wenn ja, wie? Oder kann ich die Datei einfahc laden, und wenn die alten Objekte nicht mehr referenziert werden, werden dann die nicht mehr benötigten Objekte automatisch gelöscht?
 
Zurück