php - 文件不存储
问题描述
文件上传时,我创建了目录,没有错误,但图片不存储;我只看到空文件夹。
我知道我错过了一些愚蠢的东西,但我看不出到底是什么
控制器.php
if($request->hasFile('picture')){
//Create a directory if doesn't exist
$dir = 'storage/images/students/'.$campus.'/'.$program.'/'.$group.'/';
if (!File::isDirectory(public_path($dir))){
File::makeDirectory(public_path($dir), 0775, true, true);}
$path = 'images/students/'.$campus.'/'.$program.'/'.$group;
$picture = $request->file('picture');
$filename = $request->id.'.'.$picture->getClientOriginalExtension();
$public_path = $request->file('picture')->storeAs($path, $filename,'public');
}
文件系统.php
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
解决方案
更新文件系统的配置和控制器代码,如下所示
文件系统.php
'public' => [
'driver' => 'local',
'root' => public_path() . '/uploads',
'url' => env('APP_URL').'/public',
'visibility' => 'public',
]
控制器.php
if($request->hasFile('picture')){
//Create a directory if doesn't exist
$dir = 'storage/images/students/'.$campus.'/'.$program.'/'.$group;
if (!File::isDirectory(public_path($dir))) {
File::makeDirectory(public_path($dir), 0775, true, true);
}
$picture = $request->file('picture');
$filepath = $dir . '/' . $request->hanson_id.'.'.$picture->getClientOriginalExtension();
return Storage::disk('public')->put($filepath, $picture));
}
推荐阅读
- linux - gfortran linux中(1)处的不可分类声明
- python - 如何在一行字符串中添加所有数字
- haskell - 合并多个列表
- hazelcast - 当条目达到其生存时间时,我们如何将 Hazelcast 地图条目保存在数据库或文件中?
- php - Phpmailer 在本地工作,但不在服务器上工作。出现错误:escapeshellcmd() 出于安全原因已被禁用
- google-sheets - 在两个日期之间查询和导入范围函数并按顺序排序
- python - 每 5 秒从视频中捕获图像,并使用 Python 和 OpenCV 保存图片
- json - 使用 Spark 和 Scala 展平 json 文件
- fancybox - 使用JS从图像中获取动态id和url
- android - 如何隐藏操作栏而不隐藏状态栏(标题栏)?