У меня есть сайт с index.php
в корневой папке, изображения в /img
и overview.php
в /content
.У меня есть файл sidebar.php
, который включен в index.php
и overview.php
.Как мне ссылаться на /img/image.gif
, если я включаю ссылку в каждый файл?
Расположение image.gif
изменяется относительно местоположения файла, который ссылается на него.
Использование /img/image.gif
в sidebar.php
будетработать в index.php
, но он не работает для файла, расположенного в /content/overview.php
.
Единственное решение, которое я вижу, это либо включить отдельный sidebar.php
в каждый подкаталог, либо включить каталог /img
в каждом подкаталоге.
Лучшее предложение, которое я могу найти, - это использование тега <base
> HTML, как предлагается здесь:
Изменение относительных путей ссылок для включаемого содержимого в PHP
Однако в той же ссылке SamGoody предлагает, чтобы тег <base
> is no longer properly supported in Internet Explorer, since version 7.
Я хотел бы получить некоторое представление по этому вопросу, прежде чем приступить к курсудействие.
Спасибо.
РЕДАКТИРОВАТЬ: я использую неправильный подход ниже с "../"
Пример-
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'); ?>
...