Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 拉维尔环球公共道路_Laravel_Path_Glob - Fatal编程技术网

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在内的完整路径 我只是在获取公用文件夹的路径时遇到问题。

在Laravel中,我想从目录中获取所有图像,但在获取公用文件夹的路径时遇到了问题

    $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是一个用于的包装器