如何使用Flysystem获取WEBDAV目录中的文件列表



我在stackoverflow上发现了类似的问题,但没有人回答。

因此,我试图使用基于flysystem的laravel flysystem框架从WEBDAV云存储中获取文件列表。我按照手册做了所有的事情,除了一个函数listContents((之外,其他的都很完美。

这是我的代码的一个例子

var_dump(Flysystem::read('/test/test.txt'));
var_dump(Flysystem::listContents('/test/'));

此代码返回以下内容:

string(4) "123"
array(0) {
}

我在test/目录中有test.txt文件,read((函数返回它的内容,但listContents((函数不返回该文件。

有人能解释一下如何从目录中获取文件列表吗?谢谢

所以现在作为一个临时解决方案,我不得不更改供应商中的代码。这是一个糟糕的决定,但我暂时不打算在这个项目中使用composer,只是为了再保险,我在composer.json 中锁定了联盟/飞行系统的版本

因此,作为一个解决方案,我去了vendor/alliance/flysystem/src/Util/ContentListingFormatter.php(它存在于shure的league/flysystem的1.0.57版本中(。在函数isDirectChild((中,您需要return true;。通过这种方式,您将从webdav目录中获得一个实际文件的数组,而不是一个空数组。

我真的希望有一天这个bug能被修复。

最新更新