Php 需要一次路径可以';找不到文件?

Php 需要一次路径可以';找不到文件?,php,require,Php,Require,以下是我的文件夹结构示例: source files/ controller/ ctrl_showData.php model/ Database.class.php 假设它现在位于controller目录中,在ctrl_showData.php中,我需要Database.class.php,因此我尝试: require_once(dirname(__FILE__) .'/../model/Database.class.php'); 但是当我调

以下是我的文件夹结构示例:

source files/
    controller/
        ctrl_showData.php
    model/
        Database.class.php
假设它现在位于controller目录中,在ctrl_showData.php中,我需要Database.class.php,因此我尝试:

require_once(dirname(__FILE__) .'/../model/Database.class.php');
但是当我调试时,程序在执行上面的语句时会暂停,我猜它找不到文件。我已经读过类似的问题,并尝试过他们的解决方案,但都不管用。有人能帮忙吗?谢谢 以下是回音结果:

/controller/../model/Database.class.php
显然,它不会进入父目录,即源文件/,然后进入模型/,但不知道为什么

感谢您提供错误消息建议,错误消息为:

Warning: require_once(config/config.php): failed to open stream: No such file or directory in /model/Database.class.php

因为我还需要数据库文件中的config.php,路径不正确。我没想过,谢谢你的帮助

您可以使用相对路径,因此使用该路径(如下)应该是可行的:

require_once('../model/Database.class.php');

您可以使用相对路径,因此使用该路径(如下所示)应该是可行的:

require_once('../model/Database.class.php');

尝试在realpath()中包装该调用


如果您的路径没有正确解析,它将返回NULL,并且清理中间的路径混乱。

尝试包装RealPosieFor(

)中的调用。

如果您的路径不能正确解析,它将返回NULL,并且清理中间的路径混乱。

< P>您可以尝试使用:

include('./model/Database.class.php')
您可以尝试使用:

include('./model/Database.class.php')
试试这个:

require_once(realpath(dirname(__FILE__) . '/..') . '/model/Database.class.php');
试试这个:

require_once(realpath(dirname(__FILE__) . '/..') . '/model/Database.class.php');

错误日志中的错误是什么?你有没有发现文件找不到?你有错误吗

使用:

然后看看是什么错误。如果您的错误实际上是包含丢失的文件,请检查路径是否正确,同时检查包含路径是否正确。您可能错误地删除了include_path指令中的“.”,或者如果您的CMS希望限制您使用自动加载器,您也可以这样做


另一种方法是退出文件中的('BLA')并再次调用您的页面,查看BLA是否出现,如果出现,则表示您的文件包含在内,但其中存在错误,这就是您暂停的原因。

错误日志中的错误是什么?你有没有发现文件找不到?你有错误吗

使用:

然后看看是什么错误。如果您的错误实际上是包含丢失的文件,请检查路径是否正确,同时检查包含路径是否正确。您可能错误地删除了include_path指令中的“.”,或者如果您的CMS希望限制您使用自动加载器,您也可以这样做



另一种方法是退出文件中的('BLA')并再次调用页面,查看BLA是否出现,如果出现,则表示文件包含在内,但其中存在错误,这就是您暂停的原因。

完整路径会导致什么结果?你能展示它而不是要求吗?。。。无论如何,如果它找不到文件,它不应该暂停,而是向Pekka的观点抛出一个致命错误,
echo dirname(_file__)。“/../model/Database.class.php”并查看它是否为预期路径。require\u一旦看起来很好。。。请发布错误消息。完整路径会导致什么结果?你能展示它而不是要求吗?。。。无论如何,如果它找不到文件,它不应该暂停,而是向Pekka的观点抛出一个致命错误,
echo dirname(_file__)。“/../model/Database.class.php”并查看它是否为预期路径。require\u一旦看起来很好。。。请发布错误消息。如果他正在执行此操作的文件来自另一个目录中的另一个文件,则不会发布错误消息。@Pekka即使这样也可以,因为PHP接受相对路径来形成每个文件nope。路径始终相对于当前工作目录。如果您在另一个目录中包含一个文件,则后一个目录将是工作目录。我对此的最后一点评论是:到目前为止,它在我构建的所有目录中都有效。如果文档中另有说明,那么它可能是一个bug,但它始终对我有效(也适用于最新的稳定版本),我向您保证它100%不起作用(我经常这样做,我绝对肯定)。也许您在项目中设置了一个包含路径?如果他在其中执行此操作的文件是从另一个目录中的另一个文件中包含的,则不会设置该路径。@Pekka即使这样也可以,因为PHP接受相对路径来形成每个fileNope。路径始终相对于当前工作目录。如果您在另一个目录中包含一个文件,则后一个目录将是工作目录。我对此的最后一点评论是:到目前为止,它在我构建的所有目录中都有效。如果文档中另有说明,那么它可能是一个bug,但它始终对我有效(也适用于最新的稳定版本),我向您保证它100%不起作用(我经常这样做,我绝对肯定)。也许您的项目中设置了一个包含路径?如果他正在执行此操作的文件是从另一个目录中的另一个文件中包含的,则该路径将不起作用。它似乎起作用。现在程序在执行时不会暂停。谢谢程序没有暂停,但它没有包含数据库文件,因为当我尝试初始化数据库对象时,它会再次暂停。如果他正在执行此操作的文件包含在另一个目录中的另一个文件中,则这将不起作用。这似乎可行。现在程序在执行时不会暂停。谢谢程序没有暂停,但它没有包含数据库文件,因为当我尝试初始化数据库对象时,它会再次暂停。我尝试了以下方法:require_一次(realpath(DIR)。'/../model/database.php'),但仍然是一样的。如果您这样做,您会得到什么?我尝试了以下方法:require_一次(realpath(DIR)。'/../model/database.php'),但还是一样,如果你这样做会得到什么?