Попробуйте включить их, используя `DOCUMENT_ROOT для ваших файлов PHP, то есть:
include($_SERVER['DOCUMENT_ROOT']."folder/header.php");
Это предполагает, что при просмотре в браузере header.php может быть найден, набрав http://127.0.0.1/folder/header.php
Для других файлов, таких как CSS, Javascript, вы можете определить местоположение следующим образом:
define("SCRIPTS_URL", "http://127.0.0.1/_scripts/");
Включите вышеупомянутое в ваш файл header.php и убедитесь, что вы включили header.php перед вызовом фактического HTMLзаголовок, например:
<?php
include($_SERVER['DOCUMENT_ROOT']."folder/header.php");
?>
<html>
<link rel="stylesheet" type="text/css" href="<?php echo SCRIPTS_URL; ?>stylesheet.css">
... etc etc ...
Вы можете дополнительно объединить define
и создать части каталога, например:
$project = "project_x";
include($_SERVER['DOCUMENT_ROOT'].$project."/header.php");
define("SCRIPTS_URL", "http://127.0.0.1/".$project."/_scripts/");
Если вы делаете это, как указано выше, то вам нужно толькоизмените переменную проекта, если вы видите ...
Обновление
Ниже будет index.php:
<?php
// Make the header relative to index.php (as we don't know the project) - assume header is located at /_template/header.php and this file is located at /index.php [if, in future you have /content/index.php - then the below would be ../_template/header.php, etc]
if(file_exists("_template/header.php")){
include_once("_template/header.php");
} else {
die('Fatal error - no header found');
}
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php echo BASE_URL; ?>styles/stylesheet.css">
</head>
<body>
// Content goes here
</body>
</html>
<?php
if(file_exists(ROOTPATH."_template/footer.php")){
include_once(ROOTPATH."_template/footer.php");
}
?>
И заголовок.php:
<?php
define("PROJECT_NAME", "project_x");
define("ROOTPATH", $_SERVER['DOCUMENT_ROOT'].PROJECT_NAME."/");
define("BASE_URL", "http://".$_SERVER['SERVER_NAME']."/".PROJECT_NAME."/"); // $_SERVER['SERVER_NAME'] automatically puts 'localhost' or the domain name in automatically
?>
Как вы можете видеть - все определено в этом заголовочном файле и когда он включен в index.php
- index.php может получить доступ к этим определениям, как и любой другой файл, включенный послеопределение было сделано (обратите внимание, что вы не можете переписать определение и не можетеопределить одно и то же определение дважды.