2

我不太明白这句话的含义:

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

快速分解将不胜感激。

4

3 回答 3

3

它将两个路径添加到 include_path 中,这样如果您包含文件“../library/filename.php”。你可以这样做

include('filename.php');

代替

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

我想这是某些框架的一部分

它基本上将文件夹添加到 php 包含路径

于 2012-02-04T12:17:52.847 回答
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));
于 2012-03-30T04:22:33.567 回答
0

php 的 set_include_path 函数有什么作用?

它设置了 php 引擎查找文件的可能位置。

例如:

cmp.php我把它放在一个名为的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.phpunder的新文件/home1/machines/public_html/php,将其放在那里:

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

运行cmp.php,你应该得到这个:

在此处输入图像描述

于 2014-07-25T02:24:51.173 回答