Laravel 拉维尔环球公共道路
在Laravel中,我想从目录中获取所有图像,但在获取公用文件夹的路径时遇到了问题Laravel 拉维尔环球公共道路,laravel,path,glob,Laravel,Path,Glob,在Laravel中,我想从目录中获取所有图像,但在获取公用文件夹的路径时遇到了问题 $images = []; foreach(File::glob('/public/img/uploads/*.*') as $filename) { $images[] = $filename; } 如果我使用此函数,它将不返回任何内容,我还尝试使用public\u path(),但它将返回包括我的F://dir在内的完整路径 我只是在获取公用文件夹的路径时遇到问题。
$images = [];
foreach(File::glob('/public/img/uploads/*.*') as $filename) {
$images[] = $filename;
}
如果我使用此函数,它将不返回任何内容,我还尝试使用public\u path()
,但它将返回包括我的F://dir在内的完整路径
我只是在获取公用文件夹的路径时遇到问题。我还尝试使用public_path(),但它返回了包含我的F://dir的完整路径
它的作用是:
基本路径()获取指向根目录的完全限定路径 应用程序安装 配置路径()
获取配置文件的完全限定路径 目录 公共路径()
将完全限定路径公开 目录 存储路径()
获取存储的完全限定路径 目录 我怀疑您的公用目录是否在根文件夹中,这是您使用的指向的,所以请使用
public\u path()
返回的内容-它是完全限定的路径,这没什么麻烦的
我只是在获取公用文件夹的路径时遇到问题。我还尝试使用public_path(),但它返回了包含我的F://dir的完整路径
它的作用是:
基本路径()获取指向根目录的完全限定路径 应用程序安装 配置路径()
获取配置文件的完全限定路径 目录 公共路径()
将完全限定路径公开 目录 存储路径()
获取存储的完全限定路径 目录 我怀疑您的公用目录是否在根文件夹中,这是您使用的指向的,因此请使用
public\u path()
返回的内容-它是完全限定的路径,这并不麻烦。返回一个数组,其中包含找到的文件的绝对路径。记住这一点很重要
在您的情况下,由于您希望在公用文件夹中查找文件,因此可以使用@Marcin Orlowski建议的帮助器来获取所需的绝对路径;如果要在不同位置搜索,可以使用其他帮助程序
因此,在代码中调用glob的正确方法如下:
$images = File::glob(public_path() . '/img/uploads/*.*');
但是,您可能不需要绝对路径,只需要相对于公用文件夹的路径。在这种情况下,可以使用删除绝对路径并添加所需的路径部分:
$images = [];
foreach (File::glob(public_path() . '/img/uploads/*.*') as $filename) {
$images[] = '/img/uploads/' . basename($filename);
}
使用而不是foreach:
$images = array_map(function($filename) {
return '/img/uploads/' . basename($filename);
}, File::glob(public_path() . '/img/uploads/*.*'));
注意:Laravel Glob是的包装。返回一个数组,其中包含找到的文件的绝对路径。记住这一点很重要
在您的情况下,由于您希望在公用文件夹中查找文件,因此可以使用@Marcin Orlowski建议的帮助器来获取所需的绝对路径;如果要在不同位置搜索,可以使用其他帮助程序
因此,在代码中调用glob的正确方法如下:
$images = File::glob(public_path() . '/img/uploads/*.*');
但是,您可能不需要绝对路径,只需要相对于公用文件夹的路径。在这种情况下,可以使用删除绝对路径并添加所需的路径部分:
$images = [];
foreach (File::glob(public_path() . '/img/uploads/*.*') as $filename) {
$images[] = '/img/uploads/' . basename($filename);
}
使用而不是foreach:
$images = array_map(function($filename) {
return '/img/uploads/' . basename($filename);
}, File::glob(public_path() . '/img/uploads/*.*'));
注意:Laravel Glob是一个用于的包装器