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

Laravel 已配置storage:link软链 调用file_get_contents读图片报文件不存在问询

报错根本原因
  • 核心问题是storage_path辅助函数的使用不符合路径拼接规则:Laravel 中storage_path()默认返回项目根目录下storage/文件夹的绝对路径,你传入images作为参数拼接时,得到的路径是storage/images/[文件名],但你的图片实际存储在storage/app/public/images/目录下,拼接路径遗漏了app/public两层目录,因此file_get_contents找不到对应文件。
  • 你认为dd打印的路径符合预期,本质是混淆了物理存储路径和web访问软链路径:storage:link命令仅会在项目public目录下创建指向storage/app/public的软链,仅用于web端通过url访问资源,不会修改本地文件的实际存储位置,本地读取文件时必须使用完整的物理路径。
修复方案

方案1:直接补全物理路径

$path = storage_path('app/public/images' . DIRECTORY_SEPARATOR . $new_file);

方案2:使用public磁盘的path方法,避免手动拼写路径出错

// 需先引入Illuminate\Support\Facades\Storage
$path = Storage::disk('public')->path('images/' . $new_file);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:15:02