You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel:如何使用Storage::方法读取/resources/modules目录下的JSON文件

解决Laravel中使用Storage读取/resources/modules/目录文件的问题

要通过Storage::方法读取/resources/modules/下的JSON文件,你需要先在文件系统配置中添加自定义磁盘——因为Laravel默认的Storage磁盘均基于storage/app目录,无法直接访问resources目录。

步骤1:配置自定义磁盘

打开项目根目录下的config/filesystems.php,在disks数组中添加以下配置项:

'resources' => [
    'driver' => 'local',
    'root' => resource_path('modules'),
    'throw' => true, // 可选:开启后读取失败时抛出异常,便于调试
],

这里resource_path('modules')是Laravel内置的助手函数,会自动拼接出项目resources/modules目录的绝对路径。

步骤2:使用自定义磁盘读取文件

配置完成后,即可像操作public磁盘一样,通过新磁盘读取目标JSON文件:

$this->json_path = Storage::disk('resources')->get('file.json');
$this->config_decoded = json_decode($this->json_path, true);

补充说明

  • 若文件存放在modules的子目录中,直接修改get()的参数即可,例如get('sub-folder/another-file.json')。
  • 如需判断文件是否存在,可结合exists()方法:
if (Storage::disk('resources')->exists('file.json')) {
    // 执行文件读取逻辑
} else {
    // 处理文件不存在的场景
}

内容的提问来源于stack exchange,提问作者TWLATL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:45:41