首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel Storage::files()在不应该显示dotfiles时显示它

Laravel是一种流行的PHP开发框架,提供了丰富的功能和工具来简化Web应用程序的开发过程。其中的Storage类是Laravel框架中用于处理文件存储的工具类之一。

在Laravel中,Storage::files()方法用于获取指定存储驱动中的所有文件路径。默认情况下,该方法会返回所有文件,包括以点开头的隐藏文件(也称为dotfiles)。然而,有时我们可能不希望显示这些隐藏文件。

为了在不显示dotfiles的情况下使用Storage::files()方法,我们可以使用Laravel提供的过滤器功能。具体步骤如下:

  1. 在config/filesystems.php配置文件中,找到对应的存储驱动配置项(如local、s3等)。
  2. 在该配置项中,添加一个'filter'选项,值为一个回调函数或一个类方法的字符串表示。
  3. 这个回调函数或类方法应该接受一个文件路径作为参数,并返回一个布尔值,指示是否应该显示该文件。
  4. 在回调函数或类方法中,可以使用Laravel提供的Str类的startsWith()方法来判断文件路径是否以点开头,如果是则返回false,否则返回true。

以下是一个示例配置:

代码语言:txt
复制
'disks' => [
    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
        'filter' => function ($path) {
            return !Str::startsWith(basename($path), '.');
        },
    ],
],

在上述示例中,我们为local存储驱动添加了一个filter选项,并指定了一个匿名函数作为过滤器。该匿名函数使用Str::startsWith()方法来判断文件路径是否以点开头,如果不是则返回true,表示应该显示该文件。

通过以上配置,当我们调用Storage::files()方法时,将不会返回以点开头的隐藏文件。

关于Laravel的文件存储功能和Storage类的更多信息,您可以参考腾讯云对象存储(COS)的相关产品和文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel 5.5 异常处理 & 错误日志的解决

简介 Laravel 默认已经为我们配置好了错误和异常处理,我们 App\Exceptions\Handler 类中触发异常并将响应返回给用户。...日志文件最大生命周期 使用 daily 日志模式的时候,Laravel 默认最多为我们保留最近 5 天的日志,如果你想要修改这个时间,需要添加一个配置 log_max_files 到 app 配置文件:...'log_max_files' = 30 日志错误级别 使用 Monolog 的时候,日志消息可能有不同的错误级别,默认情况下,Laravel 将所有级别日志写到存储器,但是在生产环境中,你可能想要配置最低错误级别...当异常中存在这些方法,框架会自动调用它们: <?...日志文件的存储位置是 storage/logs 目录。

4.4K31

laravel 实现上传图片到本地和前台访问示例

‘app/public/files’//本地上传文件路径 config/filesystems.php下定义 'disks' = [ 'uploadimg'= [ 'driver'= 'local...filepath'= $filename]); }else{ $idCardFrontImg = ''; return json_encode($idCardFrontImg); } } 前台显示...<img src="/<em>storage</em>/img/2018-04-27/5ae294e2830df.jpeg" 写接口上传的照片如何保存到public让前端框架访问到,,就要建立软连接将照片放到public...很简单 执行命令:php artisan storage:link 命令执行完毕后,就会在项目里多出一个 public/storage, 这个 storage 就是一个软链接,指向 storage/app...以上这篇laravel 实现上传图片到本地和前台访问示例就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.3K51

自动化部署 - Laravel Deploy实战

Deployer 是一个基于 SSH 协议的无侵入 web 项目部署工具,因为它不需要你目标服务器上装什么服务之类的东西即可使用,的原理就是通过 SSH 到你的机器去创建目录,移动文件,执行指定的动作来完成项目的部署...他支持多种框架:Laravel、Yii等 流程: 本地使用 composer 安装 deployer Linux 服务器添加账户与配置权限 项目 git 仓库允许服务器访问(clone 代码) 部署我们的...Default value is false. set('git_tty', true); // 分享文件即目录,通常也不用改,默认包含了 storage 目录 add('shared_files'...// 即 laravel 项目的 storage 文件夹 |--- .env // 即 laravel 项目的 .env 每次部署更新,会在 releases 下新建文件夹如 num,....env 和 storage 下的一些未加入代码库中的内部,部署不会自动更新,因此有些情况下需要手动处理。

2.5K30

laravel+nginx配置好后报错500的一些问题记录,已解决

include fastcgi.conf; } location / { try_files...和bootstrap/cache chmod -R 777 storage 四、检查laravel需要的PHP拓展是否都已经安装 ?...检查是否已经安装: php -m | grep 'json' 也可以项目根目录下index.php文件中输出phpinfo()进行查看 假如nginx配置没问题,index.php文件中写入exit(...'cs');应该会在浏览器上显示出cs; 五、告诫一下大家的话 ngxin+laravel已经配置好,浏览器访问报错500,搞了一下午一直没有解决,搜索各种方式,没有任何提示,PHP报错也开了,nginx...从这里开始,主要是这里没继续执行),打印断点测试,然后发现是json拓展没有安装,php.ini里面没有配置 安装拓展(如何安装PHP拓展参考这个链接),配置php.ini,就解决了问题,所以有时候没思路

1.4K10

基于Model Event模型事件的Laravel实时APP

laravel/laravel mylaravelapp --prefer-dist 写一个TODO APP 写路由Route app/Http/routes.php中写上资源型路由: Route:...环境输入路由:http://laravelmodelevent.app:8888/,新开AB两个页面,然后输入框里提交文本后: A页面输入后B页面只有刷新才能看到最新输入的文本,不能实时显示,当然...,输入的文本已经保存在model_event.items表里了: 页面里改变每一个item的checkbox后,该item的状态将会互换,UI上显示也是上下位置互换,具体逻辑可以看views/index.blade.php...重点是:A页面写入新文本,B页面不能实时显示。这还不是个实时APP。...=0或1) ItemDeleted:当删除一个item完成触发 项目根目录依次输入: php artisan make:event ItemCreated php artisan make

5.5K31

如何在Ubuntu 16.04上使用Deployer自动部署Laravel应用程序

要开启此功能,需要用户将代码推送到Internet上的存储库,然后Deployer会将代码复制到生产服务器。我们将使用Git(一种开源版本控制系统)来管理Laravel应用程序的源代码。...ssh-keygen -t rsa -b 4096 -f ~/.ssh/gitkey 您可能在本地计算机上有更多SSH密钥,因此请配置SSH客户端以了解连接到Git服务器要使用的SSH私钥。...这是通过try_files指令完成的。我们希望首先尝试将请求作为文件提供,如果找不到具有正确名称的文件,应该尝试与请求匹配的目录提供默认索引文件。...如果失败了,应该将请求作为查询参数传递给index.php文件。...── shared ├── .env └── storage 通过服务器上运行以下命令来验证这一点,该命令将列出文件夹中的文件和目录: $ ls /var/www/html/laravel-app

15.5K10

cell-blog 功能介绍与安装

基于 Laravel7 开发,Markdown 语法的个人独立博客。Cell Blog, 也是我的毕业设计作品,目前已開源。...支持 Markdown, 文章实时预览效果 支持多种编程语言代码高亮 编辑器图片上传 后台上传文件管理 文章搜索 文章分类 文章标签 热门文章 随机格言 文章管理(发布,评论开关,排序) 自定义导航(显示开关...env 环境配置 1 2 3 4 5 6 7 APP_URL=http://localhost #使用本地文件系统存储文件,必须填写正确地址 APP_DEBUG=false #关闭调试 DB_HOST...SystemController::load(); } 将博客网站根目录指向入口 public 目录 如果使用 Nginx,要设置伪静态 1 2 3 location / { try_files...$query_string; } 启动服务后,浏览器打开http://localhost/admin/, 使用用户名admin和密码admin登录。

35520

如何使用 Yadm 优雅管理你的应用配置和数据

工作方式 Yet Another Dotfiles Manager yadm 就像有一个版本的 Git,只在你的 dotfiles 上运行。...实际上 yadm 底层依旧是使用 Git 来做管理的,即 yadm 管理 dotfiles 的时候,实际上是用 Git 来进行版本控制、远程同步等操作的。...自动配置 使用 Yadm 来自动配置环境 咳咳咳,我们使用 yadm 工具不光光是可以管理我们的 Dotfiles 文件或者目录,而且还可以使用它的 bootstrap 功能来完成初始化电脑许多工具的安装...这个特性只有 gpg 命令可用的情况下才能工作。建议您在保存机密文件使用私有存储库,即使这些文件是加密的。...yadm Docs - Templates yadm Docs - Alternate Files Alternate Files 使用上述的 Alternate Files 功能,Yadm 为不同的操作系统

1.2K40

从零开始配置 vim(16)——启动界面配置

这里就不过多演示了 定义中间部分 中间部分表示的是显示为 Please Config your own center section 这块的内容。...的每个部分对应着一条显示。...每条显示和功能我们可以使用如下字段来进行定制 icon : 当前显示图标 desc:某个功能的描述信息,后面会原样显示出来 shortcut:快捷键 action:某项位置回车执行的命令 我们按照官方给出的截图上的功能进行定义...再次打开,我们发现已经可以显示这些内容了 并且我们最后一项回车,发现打开了当前配置文件 各位可以尝试一下,并不能帮助我们自动将 shortcut 字段与 action 结合绑定为快捷键。...footer, '✨ ' .. key) end end print(footer) return footer end 我们再次重启 neovim 之后发现,已经帮我们显示加载了哪些插件

1.3K10

laravel框架中控制器的创建和使用方法分析

本文实例讲述了laravel框架中控制器的创建和使用方法。分享给大家供大家参考,具体如下: laravel中我们可以使用 artisan 命令来帮助我们创建控制器文件。...'; } } 路由文件 routes/web.php 中配置路由就可以访问了。...中为我们编写 restful 风格的代码,提供了简单方式,只需创建控制器命令后面加上 –resource 选项。...{id} show order.show 显示单个订单信息 GET /order/{id}/edit edit order.edit 显示修改订单页面 PUT/PATCH /order/{id} update...php artisan route:list 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程

2.2K21

Laravel 控制器:从 MVC 模式聊起

将所有业务逻辑一股脑放到控制器听起来挺不错,但是控制器更适合承担的角色其实是负责对 HTTP 请求进行路由,因为还有很多其他访问应用的方式,比如 Artisan 命令、队列、调度任务等等,控制器并非唯一入口,所以不适合也不应该将所有业务逻辑封装于此...提到依赖注入,就绕不开服务容器,关于服务容器后面我们会单独讲解,而现在你只需了解服务容器是一个绑定多个接口与具体服务实现类的容器,而依赖注入则是代码编写以接口(或者叫做类型提示)方式作为参数,不必传入具体实现类... Laravel 中所有的控制器方法(包括构造函数)都会在服务容器中进行解析,这意味着所有方法中传入的可以被容器解析的接口/类型提示对应服务实现都会被自动注入,我们将这个过程称之为依赖注入。...5、资源控制器 有时候在编写控制器命名方法名称可能是最困难的,好在 Laravel 为常见的 REST/CRUD 控制器( Laravel 中称之为「资源控制器」)提供了一套约定规则,并为此提供了相应的...$id . ' Link: ' . route('post.show', [$id]); } 浏览器中访问 http://blog.test/post/1,页面显示如下: Post 1 Link:

11.2K51

Laravel框架之解决前端显示图片问题

最近做项目,功能是在用户上传图片成功后显示该图片,本地测试(WAMP环境)下正常显示,但是部署到服务器上(LNMP)下无法显示。...因为LNMP环境下域名直接指向Laravel框架下的public目录,public为Laravel框架唯一对外公开的文件夹,而我的图片保存在storage/images,无法直接访问。...查了官网文档发现可以Linux下建立文件软链接,但试了以后没成功(可能是我打开的方式不对)。...Laravel框架访问public/images/test.jpg图片可以这样写: <img src="{{ URL::asset('images/test.jpg') }}" id="img"/ 不用加...public,因为asset()方法指向的就是public目录 以上这篇Laravel框架之解决前端显示图片问题就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.4K21

Laravel系统3.3】控制器与表单验证

控制器与表单验证 在请求过程中,控制器往往是我们在做业务开发绕不过的一环。从 MVC 理论的成熟到现代化的开发过程中,控制器一直扮演着重要的角色。...之前讲路由的时候也说过这个问题,但是 Laravel 中,实现了路由和控制器的解耦,所以我们的控制器是可以随意定义并且命名的,直接通过路由来进行绑定。...我们这里测试的是直接通过命令行创建的,看看的代码。 action->uses = "App\Http\Controllers\ResourceTestController@index"; 我们实例化所有路由,都会创建一个 Route 对象...既然说到这里了,那么 Laravel 框架中,其实也是有对应的表单验证的功能的,可以方便地让我们进行表单参数的验证。

8.7K20
领券