如何获取完整的目录应用程序路径?

问题描述:

我已经在这条道路提供一个PHP应用程序:如何获取完整的目录应用程序路径?

A:\个用户\约翰\ Programmi \ Bitnami \ Wampstack \ Apache2的\ htdocs中\登录

我想利用这个完整的目录路径,其实我试图用这样的:

$logPath = $_SERVER['DOCUMENT_ROOT'] . rtrim($this->_logPath, DIRECTORY_SEPARATOR); 
var_dump($logPath); 

,但我得到:

答: /个用户/约翰/ Programmi/Bitnami/Wampstack/Apache2的/ htdocs中的/ home/app_test/CFG

,应该是:

答:/个用户/约翰/ Programmi/Bitnami/Wampstack/Apache2的/ htdocs中/日志/家庭/ app_text/CFG

更多细节:

  1. w ^帽子的$this->_logPath

是一个类变量,它包含以下内容:home/app_text/cfg,你怎么可以看到它的加入到$_SERVER['DOCUMENT_ROOT'];

  1. 我使用哪个WebServer?

实际上,我对Bitnami在本地主机,但这个系统将在任何在线Web服务器的工作。

反正,我几乎使用此问题解决了:

$logPath = __DIR__ . rtrim($this->_logPath, DIRECTORY_SEPARATOR); 

返回:

A:\个用户\约翰\ Programmi \ Bitnami \ Wampstack \ Apache2的\ htdocs中\登录\登录/家庭/ app_test/CFG

如何可以看到Log文件夹被复制,但我不认为用__DIR__应该解决的问题,也许哟你们有更优雅的解决方案吗?

+0

什么在'$本 - > _ logPath' ? –

+0

我们需要更多的代码来完成你所提供的代码。这也将有助于了解您使用的设置:LAMP,WAMP等。 –

+0

@RoyFalk,当然,我已经用其他细节和另一种解决方法更新了我的问题。 – Dillinger

我想你只需要添加一个/:

$logPath = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . rtrim($this->_logPath, DIRECTORY_SEPARATOR); 

,或者您可以通过使用目录名称摆脱重复日志目录:

$logPath = dirname(__DIR__) . DIRECTORY_SEPARATOR . rtrim($this->_logPath, DIRECTORY_SEPARATOR);