gpt4 book ai didi

php - Linux 上 LiteSpeed Web 服务器中文件的正确路径

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:43 27 4
gpt4 key购买 nike

我在我的网络托管服务器的根目录中放置了以下 PHP 脚本,它工作正常。

<?php
include(dirname(__FILE__).'/config/config.inc.php');
require_once(dirname(__FILE__).'/init.php');

当我将脚本移动到我的网络根目录下的一个新文件夹时,即 public_html/myfolder,脚本给出了以下错误:

Warning: include(/home/name/public_html/folder/config/config.inc.php) [function.include]: failed to open stream: No such file or directory in /home/name/public_html/folder/test.php on line 2

Warning: include() [function.include]: Failed opening '/home/name/public_html/folder/config/config.inc.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/name/public_html/folder/test.php on line 2

Warning: require_once(/home/name/public_html/folder/init.php) [function.require-once]: failed to open stream: No such file or directory in /home/name/public_html/folder/test.php on line 3

Fatal error: require_once() [function.require]: Failed opening required '/home/name/public_html/folder/init.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/name/public_html/folder/test.php on line 3

我是否应该按如下方式更改路径:

<?php
include(dirname(__FILE__).'/../config/config.inc.php');
require_once(dirname(__FILE__).'/../init.php');

我说的对吗?

最佳答案

嗯,您说您只将脚本(包含 include 行的脚本)移动到“public_html/folder”。这样,dirname(__FILE__) 包含完整路径,包括“文件夹”目录。所以,现在,您需要在目录树中向上一级,才能到达“config”目录;解释如下:

在你拥有之前:

/home/name/public_html/config/config.inc.php
/home/name/public_html/init.php

所以你的文件

/home/name/public_html/test.php

设法使用 dirname(__FILE) 中的路径访问文件。但是现在,test.php 已经被移动到目录“文件夹”:

/home/name/public_html/folder/test.php

因此,dirname(__FILE__) 应该返回“文件夹”目录的完整路径。但是您需要包含的文件位于“旧”目录中,因此您需要将 ../ 添加到包含的路径中,以便能够访问这些文件:)

关于php - Linux 上 LiteSpeed Web 服务器中文件的正确路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16788792/

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