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

时间:2016-02-04 19:19:57

标签: php

我在此路径中提供了一个php应用程序:

  

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

我想要这个完整的目录路径,我实际上试过这个:

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

但我明白了:

  

A:/个用户/约翰/ Programmi / Bitnami / Wampstack / apache2的/ htdocs中/家/ app_test / cfg中

应该是:

  

A:/个用户/约翰/ Programmi / Bitnami / Wampstack / apache2的/ htdocs中/日志/家/ app_text / cfg中

更详情:

  1. 什么' $this->_logPath
  2. 是一个包含以下内容的类变量:home/app_text/cfg,您如何看待它加入$_SERVER['DOCUMENT_ROOT'];

    1. 我使用的是哪个WebServer?
    2. 我实际上是在localhost中的Bitnami上,但是这个系统可以在任何在线Web服务器上运行。

      无论如何,我几乎用这个来解决问题:

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

      返回:

        

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

      如何看待Log文件夹重复,但我不认为使用__DIR__可以解决问题,也许你们有一个更优雅的解决方案?

1 个答案:

答案 0 :(得分:2)

我认为你只需要添加一个/:

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

或者您可以使用dirname:

删除重复的Log目录
$logPath = dirname(__DIR__) . DIRECTORY_SEPARATOR . rtrim($this->_logPath, DIRECTORY_SEPARATOR);