【问题标题】:How can I obtain the full path of a nextcloud file如何获取 nextcloud 文件的完整路径
【发布时间】:2020-01-01 11:59:30
【问题描述】:

我开始为 nextcloud 编写应用程序。为了使我的应用程序正常工作,我需要能够将位于登录用户的文件目录中的文件的完整路径传递给 CLI 命令。

我知道文件目录的基本路径是在config.php中定义的;例如,它是“var/www/html/nextcloud”或“var/www/nextcloud”。

我发现了一些函数可以让我获取相对路径,例如 \OC\Files\Filesystem::getFileInfo($path)\OC\Files\Filesystem::getInternalPath($path)

不幸的是,我找不到直接返回文件完整路径或至少从 config.php 中返回基本路径的函数。

你们有什么建议给我吗?

【问题讨论】:

  • “或者至少是来自 config.php 的基本路径” - 这似乎将所有内容存储在一个名为 $CONFIG 的数组中,我猜该文件只是获取以某种方式包含,以便此变量在最顶层范围内可用……

标签: php path nextcloud


【解决方案1】:

谢谢你的帮助,对不起!

同时我也找到了解决办法:

在 Nextcloud 中有一个类 \OC\Config,它的方法是 OC\Config::getValue($key, $default=null) (见https://docs.nextcloud.com/server/latest/developer_manual/api/OC/Config.html

我遇到的困难是类实例的初始化需要指定路径,即config.php文件所在的路径。

一开始这让我很恼火,因为你似乎在这里追自己的尾巴。

然后我尝试仅指定 Nextcloud 安装的相对路径,并且立即生效。简而言之,这是您需要的代码:

$config = new \OC\Config('config/'); $base_path = $config->getValue('datadirectory')

datadirectory 是 config.php 中定义的包含基本目录的数组中的键。

$basepath 现在包含类似/var/www/html/nextcloud/data 的路径。

我希望这对某人有所帮助。

最好的问候, 汤姆

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多