Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:include文件_Php - Fatal编程技术网

PHP:include文件

PHP:include文件,php,Php,我有一个数据库文件内容我的数据库信息。db.php文件位于我母亲的文件夹[此处为apps文件夹]中。现在,如何使用base\u url()将db.php文件包含在项目的任何位置?以下是我的基本url函数: function base_url() { return "http://localhost/apps"; } 我试过这样做,但不起作用 $link=base_url()."/"."db.php"; include('$link'); 有人能帮忙吗> 谢谢 riadba

我有一个数据库文件内容我的数据库信息。db.php文件位于我母亲的文件夹[此处为apps文件夹]中。现在,如何使用
base\u url()
将db.php文件包含在项目的任何位置?以下是我的基本url函数:

function base_url() {
    return "http://localhost/apps";
}
我试过这样做,但不起作用

$link=base_url()."/"."db.php";      
include('$link');
有人能帮忙吗>

谢谢 riad

base\u url()
需要在此处返回文件路径,而不是
http://
url

(然后将其重命名为
base\u path()
)可能有意义。

base\u url()
需要在此处返回文件路径,而不是
http://
url

(然后将其重命名为
base\u path()
)可能有意义)

“../”将重复(例如“../../../../db.php”)作为所包含文件的深度

您也可以使用$\u SERVER['DOCUMENT\u ROOT']var作为基本URL/路径

“../”将重复(例如“../../../../db.php”)作为所包含文件的深度

您也可以使用$\u SERVER['DOCUMENT\u ROOT']var作为基本URL/路径

在变量引用中,例如
$link
不会被其值替换。但你可以简单地写下:

$link = base_url()."/db.php";
include $link;
现在,这是否如预期的那样工作取决于您是希望包含db.php的源代码,还是仅仅是db.php的输出。因为在文件系统上工作可以获得源代码,而通过HTTP请求可以获得输出。

在变量中,例如
$link
不会被它们的值替换。但你可以简单地写下:

$link = base_url()."/db.php";
include $link;
现在,这是否如预期的那样工作取决于您是希望包含db.php的源代码,还是仅仅是db.php的输出。因为在文件系统上工作可以获得源代码,而通过HTTP请求可以获得输出。

多个问题

  • include(“$link”)
    永远不会工作,因为单引号表示文字字符串$link,而不是变量的值,您需要使用
    include($link)
    include($link”)
  • include是一种语言结构而不是函数,因此您只需要
    include$link
  • 规定“/”作为目录分隔符可能会导致问题,PHP提供了一个常量供您使用
    directory\u separator
  • 基本url函数应返回文件路径,而不是url
  • 基本url可能只是一个常量,因为它不会改变
  • 这是一个适合你的版本

    function application_root()
    {
      return dirname(__FILE__) . DIRECTORY_SEPARATOR;
    }
    $link = application_root() . 'db.php';
    include $link;
    
    多个问题

  • include(“$link”)
    永远不会工作,因为单引号表示文字字符串$link,而不是变量的值,您需要使用
    include($link)
    include($link”)
  • include是一种语言结构而不是函数,因此您只需要
    include$link
  • 规定“/”作为目录分隔符可能会导致问题,PHP提供了一个常量供您使用
    directory\u separator
  • 基本url函数应返回文件路径,而不是url
  • 基本url可能只是一个常量,因为它不会改变
  • 这是一个适合你的版本

    function application_root()
    {
      return dirname(__FILE__) . DIRECTORY_SEPARATOR;
    }
    $link = application_root() . 'db.php';
    include $link;
    

    你说的“不工作”是什么意思?您是否遇到编译错误,或者输出行为不同?为什么不工作?你收到了什么错误信息?你说的“不工作”是什么意思?您是否遇到编译错误,或者输出行为不同?为什么不工作?你收到了哪条错误消息?我认为必须处理
    。/..
    是他想要避免的功能。谢谢sadat。我使用$link=$\u服务器['DOCUMENT\u ROOT']。“/apps/db.php”;包括$link;它是有效的。我认为必须处理
    。/..
    是他想要避免的功能。谢谢sadat。我使用$link=$\u服务器['DOCUMENT\u ROOT']。“/apps/db.php”;包括$link;它可以工作..但是我使用了整个项目的基本url..因此文件名不能返回。这就是为什么我在基本url函数之后添加了文件名。$link变量正确地显示了结果。但是不能包括fiel。或者你知道的使用url包含文件的任何其他方式???@riad通过url包含文件是愚蠢的,除非它是你特别想要的。其中的任何PHP代码都将在包含之前进行解析,并启动web服务器进程。您通常希望使用文件路径。但是我使用的基本url是整个项目。因此无法返回文件名。这就是为什么我在基本url函数之后添加了文件名。$link变量正确地显示了结果。但是不能包括fiel。或者你知道的使用url包含文件的任何其他方式???@riad通过url包含文件是愚蠢的,除非它是你特别想要的。其中的任何PHP代码都将在包含之前进行解析,并启动web服务器进程。您通常需要使用文件路径。我不同意2。三,。我也不确定5点左右。但是+1表示注意1.:)@佩卡不确定你怎么能不同意2??include simply是一个构造-对于3,如果脚本必须是任何类型的可移植的,那么最好使用本机OS目录分隔符..Re 2)我的意思是,为了一致性起见,可以将参数放在括号中。不过,你的说法是正确的,它们是不需要的。Re 3)不,分隔符也会在Windows上自动转换,通常可以使用正斜杠。我不同意2。三,。我也不确定5点左右。但是+1表示注意1.:)@佩卡不确定你怎么能不同意2??include simply是一个构造-对于3,如果脚本必须是任何类型的可移植的,那么最好使用本机OS目录分隔符..Re 2)我的意思是,为了一致性起见,可以将参数放在括号中。不过,你的说法是正确的,它们是不需要的。Re 3)不,分隔符也会在Windows上自动转换,通常可以使用正斜杠。@riad是,因为您使用的是URL(此外,不正确的o