Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: [PHP] include
AUTOR BEITRAG
pennywise

RANG Deckschrubber

#1 - 19.05 10:40

Ich hab hier nen "legacy" php3 code und will dort nen include-baum erstellen. Jetzt gibts ja PECL/inclued, aber dazu muss ich ja ein "live"-system haben damit ich nen dump hab den ich dann auslesen kann. Allerdings gibts kein live-system das ich nutzen könnte. Also probier ich das jetz manuell zum laufen zu kriegen. erstmal grob die struktur:

/var/www/foobar/doc_root/index.php3 "das bootstrap-file"
/var/www/foobar/incdef.inc "das zu includierende file"

localhost is nen vhost auf "/var/www/foobar/doc_root/"

das includiert dann


<?php include("/../incdef.inc"); ?>



jetzt weiss ich nicht welche obszönen vergewaltigungen gemacht wurden damit das file gefunden wird, aber im "standard"-apachen gehts nicht.

Warning: require(/../incdef.inc) [function.require]: failed to open stream: No such file or directory
code


Ich tippe jetzt mal auf eine kombo aus open_basedir und include_path, aber ich komm gerade net weiter (PHP is lang her )

Klar könnte ich einfach hier den Pfad anpassen, aber das löst nur das erste include-problem in einer langen reihe ...
klaustopher

RANG Deckschrubber

#2 - 19.05 10:47

Unter Unix wird, wenn ein Pfad mit / beginnt, immer von der Root des Dateisystems ausgegangen ... also entweder du nimmst ../incdef.inc oder ./../incdef.inc
pennywise

RANG Deckschrubber

#3 - 20.05 06:51

jo, ok, da hast du Recht. Allerdings hab ich auch ein wichtiges Detail einfach unterschlagen, nämlich

<?php include($DOCUMENT_ROOT "/../incdef.inc"); ?>


Jetzt ist die Lösung auch völlig klar, ich musste "register_globals" wieder rauskramen und aktivieren. Danke und das hier kann zu.
huma

RANG 800x600-Surfer

#4 - 20.05 14:55

Warum nimmst du nicht

<?php $_SERVER["DOCUMENT_ROOT"?>


?
pennywise

RANG Deckschrubber

#5 - 21.05 17:48

das wäre die "schöne" Lösung, aber wie gesagt das ist alter Code, daran will ich nichts ändern, bzw. würde ich dann vom hundersten ins tausendste kommen. Ich wollte den nur "lauffähig" machen, dann schauen wie was includiert wird und damit die tausend Dateien auf die relevanten ~20 reduzieren.