首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP需要realpath -打开失败

PHP需要realpath -打开失败
EN

Stack Overflow用户
提问于 2013-03-25 14:32:31
回答 1查看 1.2K关注 0票数 2

我正在通过相对路径尝试require/include文件。路径存在并检查所有权限。包含的脚本是可读的,可以通过浏览器中的URL访问.

但是,我收到错误/警告,它未能打开。调用脚本和要包含的文件都位于同一台服务器上。

来电者亲属:

/devel/phi/dev/appcenter-head/appcenter/application/nm/index.php

来电者位置:

/home/devel/wwwroot/phi/dev/appcenter-head/appcenter/application/nm

要求亲属:

/devel/nm/dev/http-api/http-api/src/httpapi.inc.php

所需地点:

/home/devel/wwwroot/nm/dev/http-api/http-api/src

我试过的是:

代码语言:javascript
复制
$strHttpApiUrl = "/devel/nm/dev/http-api/http-api/index.php";
$strFile = "/src/httpapi.inc.php";
$strDirName = dirname( $strHttpApiUrl );
$strRealpath = realpath( $strDirName . $strFile );
require_once $strRealpath;

失败:PHP Warning: require_once(/home/devel/wwwroot/phi/dev/appcenter-head/appcenter/application/nm) [<a href='function.require-once'>functio n.require-once</a>]: failed to open stream: No such file or directory in /home/devel/wwwroot/phi/dev/appcenter-head/appcenter/application/nm/class/TWinLogin.php

也失败了:PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required '' (include_path='.:/opt/nm/appcenter40-server-php53/lib/php')

也尝试过平面图,包括字符串URL或使用绝对路径..。

我怎么能把那份文件包括进去?

编辑

这成功地包括了文件:

require_once '/home/devel/wwwroot/nm/dev/http-api/http-api/src/httpapi.inc.php';

那么,我如何才能得到工作路径,假设我得到了以下相对路径:

/devel/nm/dev/http-api/http-api/index.php

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-25 14:55:05

realpath试图在文件系统中获得真正的路径--绝对路径。所以很可能是从斜杠开始的。

如果生成的路径以斜杠开头,而php试图要求/包含它,它很可能会认为它的“绝对”。如果它没有看到现有的文件--它会给出这些错误。

如果要使用相对路径,请避免重新路径。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15617524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档