PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : korrektur von relativen pfaden in einem projekt


gaybear
14.12.2007, 09:21:31
servus
hab ein problem mit was die korretktur von relativen pfaden betrifft.
alle eigentlichen inhaltsseiten liegen in unterverzeichnissen des stammverzeichnisses.
alle bilder in einem weiteren.
nun passt die index.php nicht ins konzept, was die adressierung der bilder und anderer ressourcen betrifft.
(ich könnte diese nun gesondert betrachten und bei jedem bild abfragen ob die gerade geladene datei diese index.php ist. ich möchte das ganze aber etwas modularer ertellen, da in zukunft weitere unterordner hinzukommen können.)

$dir_file = $_SERVER['PHP_SELF'];
$dir_now = dirname($dir_file);
$dirs = explode('/', $dir_now);
//...
/*for ("alle array elemente von dirs") */ jumper .= '../';

^mit diesen codezeilen kann ich testen wieviele ordner ich "rauf" muss, bis ich im wurzelverzeihnis bin. nun muss ich vor eine bildadresse nur noch jumper anhängen.

nun aber die eigentliche fragen:
A) ich includiere ein navimenü in jeder seite. wie erkenne ich ob das jeweilige ziel im gleichen verzeichnis liegt.
B) ist es effizient bei jedem bild wieder <?php ... ?> eine neue instanz vom phpprozessor zu erzeugen, nur damit die adresse eingefügt werden kann? oder gibt es eine möglichkeit eine datei komplett mit einer textersetzung zu behandeln. (wie ein makro, dass vor der eigentlichen interpretierung des codes ausgeführt wird)

hierzu sei gesagt, dass ich keine struktur einer einzigen index.php möchte, welche automatisch den richtigen inhalt lädt. (das ist mir "zu virtuell" ;) ich möchte gern eine klassisches konzept von separaten dateien, welche alle eine seite repräsentieren.)

defabricator
14.12.2007, 10:12:23
zu b)<?php echo 'a'; ?>
b
<?php echo 'c'; ?>Hier werden keine zwei Instanzen erzeugt. Es gibt zwei php Blöcke, die aber von der selben Instanz abgearbeitet werden. Das hat nur Auswirkungen beim Parsen des Skripts. Wenn es auf die Geschwindigkeit Requests/Sekunde ankommt und Du deshalb einen Codecache verwendest, ist das also komplett unerheblich.

gaybear
14.12.2007, 10:18:41
aha, danke! ich dachte bei jedem neuen block würde eine neue instanz erzeugt werden.
super, dann kann man ja bedenkenlos das html "löchern".