PHP包含路径问题

发布于 2024-11-17 09:26:34 字数 266 浏览 2 评论 0原文

我已经设置了 apache,以便所有请求都转到文件 /var/www/common_index.php

现在,common_index.php 会查看请求的文件名并获取适当的文件 /var/www/123/public_html/requested_file.php

当我在requested_file.php 中包含文件(带有相对路径)时遇到问题。它尝试在 /var/www 而不是 /var/www/123/public_html/ 中搜索文件

如何解决这个问题?

I have set apache so that all requests go to a file /var/www/common_index.php

Now, common_index.php looks at requested file name and sources appropriate file
/var/www/123/public_html/requested_file.php

I am having problems when I include a file (with relative path) in requested_file.php. It tries to search for file in /var/www instead of /var/www/123/public_html/

How to solve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

您可以在requested_file.php更改工作目录 code> 在调用 include 使其工作之前:

chdir(dirname(__FILE__));
include 'path/to/file.php';

或者对于 PHP 5.3+

chdir(__DIR__);
include 'path/to/file.php';

如果您不想更改工作目录(这将影响其他文件系统操作),则只需在每次调用时附加路径即可使用 魔法常量 __DIR__

include dirname(__FILE__) . '/path/to/file.php';
include __DIR__ . '/path/to/file.php'; # for PHP 5.3+

路径相对于您使用上面代码的文件。

You can change the working directory in requested_file.php before calling include to make it work:

chdir(dirname(__FILE__));
include 'path/to/file.php';

or for PHP 5.3+

chdir(__DIR__);
include 'path/to/file.php';

If you don't want to change the working directory (which will affect other file system operations) then just append the path each time you do an include using the magic constant __DIR__:

include dirname(__FILE__) . '/path/to/file.php';
include __DIR__ . '/path/to/file.php'; # for PHP 5.3+

where the path is relative to the file where you used the code above.

落日海湾 2024-11-24 09:26:34

在 Apache 配置中编辑 DocumentRoot。

将其设置为 /var/www/123/

Edit your DocumentRoot in your Apache config.

Set it to /var/www/123/

不甘平庸 2024-11-24 09:26:34

您可以使用 __DIR__

$path = __DIR__;

$path 包含包含此行的文件的路径

You can use __DIR__:

$path = __DIR__;

Whereas $path contains the path of the file which contains this line

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文