Ich habe eine Website mit index.php
im Stammordner, Bilder in /img
und overview.php
in /content
. Ich habe eine sidebar.php
Datei, die in index.php
und overview.php
enthalten ist. Wie soll ich mich auf /img/image.gif
beziehen, wenn ich einen Link in jede Datei einschließe? Die Position image.gif
ändert sich relativ zum Speicherort der Datei, die darauf verweist.
Die Verwendung von /img/image.gif
in sidebar.php
funktioniert in index.php
, aber es schlägt für die Datei unter /content/overview.php
.
Die einzige Lösung, die ich sehen kann, ist entweder ein separates sidebar.php
in jedem Unterverzeichnis enthalten, oder ein /img
Verzeichnis in jedem Unterverzeichnis enthalten.
Der beste Vorschlag, die ich finden kann, ist den <base
> HTML-Tag zu verwenden, wie hier vorgeschlagen:
Change relative link paths for included content in PHPWeb-Entwicklung - relative URLs ohne Duplizieren von Dateien
jedoch in der gleichen Verbindung, schlägt SamGoody, dass die <base
> Tag is no longer properly supported in Internet Explorer, since version 7.
I Ich möchte einen Einblick in die Sache, bevor ich mich auf eine Vorgehensweise einlasse.
Danke.
EDIT: Ich bin mit dem falschen Ansatz unten mit "../"
Beispiel-
root/index.php:
...
<link rel="stylesheet" type="text/css" href="style.css" />
<title>title</title>
</head>
<body>
<?php include('include/header.php'); ?>
<?php include('include/menu.php'); ?>
...
root/include/header.php:
...
<div id="header">
<span class="fl"><img src="img/dun1.png"/></span><span class="fr"><img src="img/dun2.png"/></span>
...
root/content/overview.php:
...
<link rel="stylesheet" type="text/css" href="../style.css" media="screen" />
<title>Overview</title>
</head>
<body>
<?php include('../include/header.php'); ?>
<?php include('../include/menu.php'); ?>
...
danke, das hat dazu beigetragen, einige Dinge für mich zu klären. Ich habe versucht/und ../, aber kann es nicht zur Arbeit bringen. Wenn ich "style.css" in "overview.php" in "/root/style.css" ändere, bekomme ich den Stil, aber ich kann nicht die gleiche Idee auf Bilder anwenden. Die Verwendung von "/ root /" ist wahrscheinlich eine schlechte Wahl für dieses Beispiel, da es nicht die Wurzel von meinem localhost ist. Das "/ root", auf das ich mich beziehe, befindet sich unter "var/www/root". Ich nehme an, es ist etwas, das ich nicht über relative/absolute Pfade weiß, oder etwas, das ich nicht über PHP-Includes oder meinen Apache-Server weiß ist falsch konfiguriert oder alle der oben genannten. – eshriek
@eshriek Was ist Ihr Apache-Webstamm? 'www' oder' root'? –
Apache Web Root ist www – eshriek