У меня будет несколько папок / модулей для доступа к общим файлам. Но доступ к ним кажется для меня большим делом!
Я прошел через эту ссылку, чтобы понять относительное позиционирование и сумел решить некоторые проблемы. Но не все. Ссылка: Относительные URL-адреса / пути в php
Структура моей папки следующая:
Веб-сайт работает в корневой папке:
/(index|ajax).php
а затем подпапки:
/css/style.css
/img/*.(jpg|png|gif)
/inc/(header|footer).php
/js/*.js
/registration/(ajax|getsubjects|response|success).php
Теперь, вот как я включил файлы на странице index.php (это отображает правильно, значение, стиль, css, js, config все доступно)
<?php include('inc/header.php'); ?> content here <?php include('inc/footer.php'); ?>
в<?php include('inc/header.php'); ?> content here <?php include('inc/footer.php'); ?>
в<?php include('inc/header.php'); ?> content here <?php include('inc/footer.php'); ?>
Эта страница индекса должна будет получить getsubjects.php, response.php и затем, наконец, приземлиться в success.php.
Для успеха.php нужен стиль, тогда как предыдущие два были предназначены только для обработки.
Итак, теперь в файле success.php я получаю доступ к верхнему и нижнему колонтитулу, как показано ниже:
include('../inc/header.php'); include('../inc/footer.php');
Но это не относится к стилю!
внутри header.php и footer Я включаю такие файлы:
<link rel="stylesheet" href="./css/style.css"> <script src="./js/script.js"></script>
Как включить сюда файлы здесь?
Ваши PHP-предложения кажутся правильными. Но в вашем HTML вам нужно изменить привязку к файлам CSS и JS (возможно, даже к вашим изображениям).
Вы можете использовать абсолютные пути:
<link rel="stylesheet" href="/css/style.css"> <script src="/js/script.js"></script>
ведущая точка делает ваши пути относительно HTML-документа, поэтому, если они связаны с документом в подпапке, они указывают на неправильное расположение.
./css/style.css
означает из текущего каталога и достигнет того же результата, что и css/style.css
. Самый простой ответ – определить, каков базовый путь вашего приложения и использовать его. Например, если ваше приложение работает как http://myapp.com
, вы можете установить все свои интерфейсные пути в /css/style.css
. Если ваше приложение работает в подкаталоге, например http://example.com/myapp
, то вашими путями будут /myapp/css/style.css
.
Это не применяется на стороне PHP. Для них вы должны действительно использовать пути, связанные с документами. Наличие PHP-файла, который вы включаете в несколько мест в вашем приложении, содержимое которого имеет что-то вроде include('../myDoc.php');
, может привести к осложнениям, поскольку путь не основан на пути к включенному документу, а скорее включает в себя. Таким образом, используя пути, связанные с документами, вы можете обойти это include(__DIR__ . '/../myDoc.php');
, Просто подумайте, растет ли ваше приложение.
Включая файлы с
<?php include("page1.php") ?>
в<?php include("page1.php") ?>
поместите код (или контент) со page1
на страницу вызывающего абонента.
Таким образом, вам, возможно, придется обнаруживать, откуда вы называете ваши страницы, или попробовать абсолютные ссылки (начиная с /
)
Надеюсь, я правильно отвечу на ваш вопрос.