2012-02-04 2 views
2

я не могу вполне понять смысл этого утверждения:PHP set_include_path заявление

set_include_path('.' 
. PATH_SEPARATOR . '../library/' 
. PATH_SEPARATOR . '../application' 
. PATH_SEPARATOR . get_include_path()); 

Быстрая разбивка была бы оценена.

+0

@ yes123, я не должен быть, то, вероятно, PATH_SEPARATOR установлен как ';'. – Oldskool

ответ

3

Он добавляет два пути к include_path, так что если вы используете файл "../library/filename.php". вы можете сделать это

include('filename.php'); 

вместо

include('../library/filename.php'); 

Я полагаю, что это часть каких-то рамок

Это в основном добавляет папку в PHP включить путь

1

В В первую очередь следует отметить, что константа PATH_SEPARATOR является предопределенной константой, которая позволяет использовать межплатформенный разделитель пути (он разрешает «:» на unix-li ke и ';' на окнах).

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

<?php 
$paths = array('.', '../library/', '../application', get_include_path()); 
set_include_path(join(PATH_SEPARATOR, $paths)); 

или немного более многословным, но легко добавить:

<?php 

$paths[] = '.'; 
$paths[] = '../library/'; 
$paths[] = '../application'; 
$paths[] = get_include_path(); 

set_include_path(join(PATH_SEPARATOR, $paths)); 
0

Что делает Функция set_include_path php делает?

Он устанавливает возможное место, где двигатель php ищет файлы.

Например:

Я положил это в файле PHP называется cmp.php под /home1/machines/public_html

<?php 
    print "1<br>"; 
    require("hello.php"); 
    print "<br>2<br>"; 

    set_include_path("/home1/machines/public_html/php"); 

    print "<br>3<br>"; 
    require("hello.php"); 
    print "<br>4<br>"; 
?> 

Создайте новый файл hello.php под /home1/machines/public_html, поместить это там:

<?php 
print "hello from public_html"; 
?> 

Сделайте второй новый файл под названием hello.php под /home1/machines/public_html/php, поставить это там:

<?php 
print "hello from public_html/php"; 
?> 

Run cmp.php, и вы должны получить это:

enter image description here

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