2015-04-07 1 views
0
Структуры

файла:файл проблема пути во время включения файла из других файлов в различных каталогах

app/ 
- index.php 
- core -> header.php, setup.php 
- img -> ... 
- lib -> css->stylesheet.css, js->script.js 

У меня есть header.php файла, который содержит ссылку на CSS и JS файлы. Это выглядит следующим образом:

<link rel="stylesheet" href="lib/css/stylesheet.css"/> 
<script src="lib/js/script.js" type="text/javascript"></script> 

мне нужно включить header.php в два других файла: index.php и setup.php.

Файл загружается штрафом в index.php с app/lib/css/stylesheet.css и app/lib/js/script.js есть. В случае загрузки с setup.php он будет искать файл в каталоге 'app/core/lib/css ... and js ... '.

Я попытался решить эту проблему, используя абсолютный путь, используя что-то вроде:

$path = realpath($_SERVER['DOCUMENT_ROOT']); 

и добавляя его по ссылке и теги сценария в header.php Проблема в том, что окна говорит косяк доступа к локальным ресурсам.

Как решить эту проблему? Заранее спасибо.

ответ

1

Сделать config.php файл конфигурации, как

<?php 
$webPath = 'http://example.com/'; 
$jsPath = $webpath . 'lib/js/'; 
$cssPath = $webPath . 'lib/css/'; 

Затем включите config.php во всех пунктах въезда. Точка входа здесь index.php и setup.php

Как только вы что, header.php должен иметь простой код:

<link rel="stylesheet" href="<?= $cssPath ?>stylesheet.css"/> 
<script src="<?= $jsPath ?>script.js" type="text/javascript"></script> 
+0

Спасибо за помощь. Я заработал. :) –

1

Вы должны включить файлы ли .js или .css файлов с использованием HTTP: // протокол. Вы можете определить константу в файле конфигурация, как показано ниже:

define('SITE','http://'.$_SERVER['HTTP_HOST'].'/<project_name>/'); 

Теперь вы можете использовать константу SITE в вашем header.php, как показано ниже:

<link rel="stylesheet" href="<?php echo SITE;?>lib/css/stylesheet.css"/> 
<script src="<?php echo SITE;?>lib/js/script.js" type="text/javascript"></script> 

Надеется, что это поможет вам. :)

+0

Спасибо, я не должен был использовать realpath. –

Смежные вопросы