2

我在包含包含函数的文件时遇到了麻烦。我有一个名为 blog.php 的文件,它运行以下内容:

<?php
require 'db.php';
require 'functions.php';

//Connect to the DB
$conn = Blog\DB\connect($config);
if ( !$conn ) die('Problem connecting to the db.');

blog.php 文件位于 blog 文件夹中。在 blog 文件夹内是一个 admin 文件夹,其中包含一个 index.php 文件,其代码如下:

<?php
require '../blog.php';

这应该允许我调用 blog.php,然后调用包含我的数据库连接函数的 db.php 文件,但我收到一个错误,即连接函数未定义。它试图从 blog>admin 文件夹中获取 db.php,而不是从 blog.php 文件所在的位置(与 db.php 相同的目录)?我怎样才能解决这个问题?

4

1 回答 1

2

您在这里有几个选项 - 通过更改相对链接以正确到达它们应该位于的文件夹,或者通过使用 chdir() 方法将当前工作目录更改为适当的文件夹。您也可以使用绝对路径。

您应该如何更改相对链接取决于您从目录结构中访问文件的位置...

假设您正在访问您的博客文件,如下所示:

http://www.site.com/blog/blog.php

并且您的 Admin 文件夹位于 blog 文件夹中;

我会像这样包含文件:

include "admin/db.php";
include "admin/functions.php";

再次 - 假设这两个文件都在 blog 文件夹内的 admin 文件夹内;

IE root/blog/admin/db.php

我就是这样解释你说的……

于 2013-09-02T18:26:18.073 回答