gpt4 book ai didi

php - PHP中的路径是如何计算的 - 为什么当前目录中的文件会被忽略?

转载 作者:行者123 更新时间:2023-12-04 18:20:46 24 4
gpt4 key购买 nike

更新:

index.php 文件在这里:

/public_html/d/index.php

包括:
/public_html/d/core/source/class.File1.php

这个 Class.File1.php 这里有这个包含这样写的:
include 'class.File2.php';

自然我把 class.File2.php如上所述,在与 class.File1.php 相同的目录中。
/public_html/d/core/source/class.File2.php

然而,

它实际上包括这个文件:(注意丢失的 /d/ )
/public_html/core/source/class.File2.php

不知道为什么它不使用当前目录中的文件。

但这里有一些可能性。

来自请求页面的用户的条目进入:(用户类型 www.host.com/d)
/public_html/d/

这包括:(效果很好,我测试过)
/public_html/d/core/source/class.File1.php 

但是,如上所述,该文件中的包含是中断的地方:
include "class.File2.php"

唯一有意义的事情......是包括使用某种内部常量,如
ROOT

或者
$_SERVER['DOCUMENT_ROOT']

但我仍然无法弄清楚为什么它会忽略 /d/但找出其余的。

最佳答案

您在使用 set_include_path在你的应用程序的任何地方?也许这可能是您的问题的原因。通过这样做,您指定了 require、include、fopen()、file()、readfile() 和 file_get_contents() 函数首先查找文件的目录列表。

作为替代方案,我建议您定义绝对路径以避免出现问题。
写在你的/public_html/d/core/source/class.File1.php

// This if you are using PHP >= 5.3
include(__DIR__ . '/class.File2.php');

// Or this if you dont have the magic constant __DIR__ available
include(dirname(__FILE__) . '/class.File2.php');
__FILE____DIR__是魔法常数。 __FILE__是一个具有该特定文件的绝对路径的常量。和 __DIR__是该文件所在目录的绝对路径。你甚至可以通过 echo __FILE__; 来测试它们。或 echo __DIR__;
你可以在这里阅读更多关于它们的信息 http://php.net/manual/en/language.constants.predefined.php

关于php - PHP中的路径是如何计算的 - 为什么当前目录中的文件会被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10739002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com