Настройка глобального пути PHP - PullRequest
0 голосов
/ 01 августа 2011

У меня есть этот параметр.

 root dir| 
       index.php
       config.php
       file.php  |
                 |
                 |scripts|a.js
                 |
                 |account
                         |index.php
                         |         |
                         |member   |index.php
  • Теперь я включил index.php члена dir в index.php учетной записи dir.Кроме того, учетная запись index.php включает в себя config.php, который содержит

    define( 'PATH', (__DIR__) );
    

Теперь для всех включенных в учетную запись index.php, который я использую,

require_once( PATH . '\file.php' ); 

и работает нормально.Но когда я пытаюсь добавить путь для сценария src, например,

<script type="text/javascript" src="<?php '.PATH.'scripts/livevalidation.js ?>"></script>

, я получаю сообщение об ошибке, так как я могу включить a.js в папке сценариев в index.php учетной записи, используя глобально определенныйпуть.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 01 августа 2011

PHP "__DIR__" и "__FILE__" являются абсолютными для сервера. Вам не нужно использовать ни один для вашего сценария.

<script src="/scripts/livevalidation.js"></script>

Кроме того, ваш PHP выглядит так, как будто он содержит некоторые синтаксические ошибки, это будет правильно (хотя все равно не будет работать:

<script src="<?php echo PATH.'/scripts/livevalidation.js'; ?>"></script>
0 голосов
/ 01 августа 2011

В вашем PHP-теге script отсутствует оператор print или echo. Вы также размещаете периоды объединения в неправильном месте. Вдобавок ко всему, однако, JavaScript, который вы пытаетесь включить, не должен быть в операторе PHP.

Все, что сказано, последняя строка должна выглядеть следующим образом:

<script type="text/javascript" src="<?php echo PATH ?>scripts/livevalidation.js"></script>

Кроме того, я не думаю, что вышесказанное сработает так, как вы ожидаете. __DIR__ выводит путь к файловой системе на стороне сервера, который не имеет смысла при импорте JavaScript через HTTP. Я бы порекомендовал что-то более в духе следующего:

<?php define('URL_ROOT', '/'); ?>

<script type="text/javascript" src="<?php echo URL_ROOT ?>scripts/livevalidation.js"></script>

В приведенном выше примере URL_ROOT будет указывать абсолютный URL-адрес, по которому подается статический носитель (CSS, JavaScript и т. Д.).

...