我几乎在所有项目中使用了laravel,并且在尝试列出目录中的所有文件时遇到了问题。
以下是我的代码:
$directory = ("upload/"."$username->username");
$scanned_directory = storage::allfiles($directory);
因此,您可以看到First line是Upload中的目录,后跟帐户的用户名。
第二行用于扫描此目录并仅列出文件。可悲的是,它总是给我一个空阵列。使用Scandir()在这里工作......但它给了我不想要的文件夹。
所以...任何提示?我检查了API,我真的不知道这里有什么问题:(
答案 0 :(得分:3)
使用Storage::allFiles('directory')
方法时没有结果的原因是此方法仅查看应用程序的存储文件夹,通常是storage/app
。因此,为什么修改配置中的存储路径就像@yassine所提到的那样(你不应该这样做)。
如果您希望使用storage
文件夹之外的文件,只需使用File
外观。例如File::allFiles('directory')
答案 1 :(得分:1)
我也有同样的本地存储问题。我修理了它:
然后我提供了一个相关路径到Storage :: files()或Storage :: allfiles()中的根文件夹。
与Storage :: allfiles(“app”)类似,如果我想获取相对于配置文件中给出的基本路径的子文件夹“app”的文件。
祝你好运答案 2 :(得分:0)
$directory = base_path("upload/"."$username->username");
$scanned_directory = storage::allfiles($directory);
必须是laravel根文件夹的绝对路径。
当您上传的文件夹位于根文件夹中时,请尝试以下
public void function() {
Map<String, Person> ...
{
Person obj ...
...
map.add(obj)
}
{
Person obj ...
...
map.add(obj)
}
}