我如何获取nextcloud文件的完整路径

时间:2019-08-28 09:37:21

标签: php path nextcloud

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

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

我发现了几个可以让我获得相对路径的函数,例如  \OC\Files\Filesystem::getFileInfo($path)  和  \OC\Files\Filesystem::getInternalPath($path)

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

你们有没有给我的小费?

1 个答案:

答案 0 :(得分:0)

谢谢您的帮助,悲哀!

与此同时,我找到了解决方案:

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')

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

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

我希望这对某人有帮助。

最好的问候, 汤姆