Php Laravel 5.3存储和读取文件目录

Php Laravel 5.3存储和读取文件目录,php,file,laravel-5,storage,Php,File,Laravel 5,Storage,目前正在尝试处理文件,但正在努力找出将文件放在何处以及如何将其读回列表中 我试着把一些测试文件放到 $files = array(); $dir = opendir(asset('files'); // open the cwd..also do an err check. while(false != ($file = readdir($dir))) { if(($file != ".") and ($file != "..") and ($file != "index.php"))

目前正在尝试处理文件,但正在努力找出将文件放在何处以及如何将其读回列表中

我试着把一些测试文件放到

$files = array();
$dir = opendir(asset('files'); // open the cwd..also do an err check.
while(false != ($file = readdir($dir))) {
    if(($file != ".") and ($file != "..") and ($file != "index.php")) {
            $files[] = $file; // put in array.
    }   
}
但它只返回空白,尽管其中有3个测试文件

研究了幼虫配方和建议,比如File:allFile(),这是一种不受支持的方法,但它让我想知道,除了如何从目录中读取文件外,我应该在服务器上真正将文件存储在哪里。

Laravel 5.3使用。您可以使用以下两种方法之一访问目录中的所有文件:

use Illuminate\Support\Facades\Storage;

$files = Storage::files($directory);

$files = Storage::allFiles($directory); // Includes subdirectories

将其传递给公共控制器路径它似乎返回空数组?请确保传递的路径正确。对于存储类,我认为它应该是相对于您的项目目录的。因此,如果您的文件夹是
storage/files
,则应该传入该文件夹。您可能需要调整它。您还可以尝试记录
Storage::dirname($directory)
找出它的确切位置。我要测试的文件在storage/Files只是simple test.txt中。但是,当我设置$directory=storage/Files时,它仍然返回电子邮件。请尝试日志记录,并确保它正在查看您认为它在的位置。有时文件路径会有点不稳定。还要检查文件的权限。在我的本地计算机上使用它,因此将权限设置为777,将目录设置为1$directory=“storage/files/”