gpt4 book ai didi

php - Laravel 5.6 :Check if a file exists

转载 作者:行者123 更新时间:2023-12-04 14:41:22 24 4
gpt4 key购买 nike

所以我在 laravel 中创建用户个人资料,如果用户没有上传他/她自己的个人资料图片,我想显示一个通用的个人资料图片,并满足以下 if/else 条件:

@if(false)
<img src="img/uploads/avatars/{{$user->Uname}}" class="img-thumbnail" alt="{{$user->Uname}}'s Profile Pic">
@else
<img src="img/uploads/avatars/{{$user->avatar}}" class="img-thumbnail" alt="{{$user->Uname}}'s Profile Pic">
@endif

我需要检查是否存在与用户的用户名同名的文件(上传在上述指定位置创建一个具有该名称的文件)。 false 是文件存在的条件应该是但我面临着 2 个在其他解决方案中没有发现的问题:

  1. 文件存在于存储之外的路径中。 (它存在于公共(public)文件夹)

  2. 我想在不使用存储或文件外观的情况下做到这一点。

注意:对 filesystems.php 进行了以下更改

'local' => [
'driver' => 'local',
'root' => storage_path('../public/img/uploads/'),
]

编辑:问题与此处提到的问题类似,但此解决方案对我不起作用:Determining If a File Exists in Laravel 5

编辑#2:最终工作代码:

@if(is_file("img/uploads/avatars/{$user->Uname}"))
<img src="img/uploads/avatars/{{$user->Uname}}" class="img-thumbnail" alt="{{$user->Uname}}'s Profile Pic">
@else
<img src="img/uploads/avatars/default.jpg" class="img-thumbnail" alt="{{$user->Uname}}'s Profile Pic">
@endif

最佳答案

你应该检查文件是否存在

@if(is_file('/path/to/file.ext'))
// code
@else
// code
@endif

你可以使用 laravel 助手,比如:

@if(is_file(public_path('img/uploads/avatars/' . $user->Uname)))
//<img src="{{ asset('img/uploads/avatars' . $user->Uname) }}">

关于php - Laravel 5.6 :Check if a file exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51693314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com