我无法弄清楚这句话的含义:
set_include_path('.'
. PATH_SEPARATOR . '../library/'
. PATH_SEPARATOR . '../application'
. PATH_SEPARATOR . get_include_path());
快速细分将不胜感激。
答案 0 :(得分:3)
它添加了include_path的两个路径,以便你可以 包含一个文件“../library/filename.php”。 你可以通过
来做到这一点include('filename.php');
而不是
include('../library/filename.php');
我认为这是某个框架的一部分
它基本上将文件夹添加到php include路径
答案 1 :(得分:1)
这里要注意的第一件事是常量PATH_SEPARATOR
是一个预定义的常量,它允许跨平台路径分隔符(它在类似unix的系统上解析为':',在Windows上解析为';')
以下代码也会获得相同的结果,但更容易理解:
<?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));
答案 2 :(得分:0)
php的set_include_path函数有什么作用?
它为php引擎设置了查找文件的可能位置。
例如:
我把它放在cmp.php
/home1/machines/public_html
的php文件中
<?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";
?>
运行cmp.php
,你应该得到这个: