我正在使用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是文件存在条件的地方,但我面临两个问题,在其他解决方案中没有找到:
该文件存在于存储之外的路径中。(它存在于公共文件夹中)
我想在不使用存储或文件fasades的情况下进行操作。
注:filesystems.php已作出以下更改。
'local' => [
'driver' => 'local',
'root' => storage_path('../public/img/uploads/'),
]
编辑:该问题与此处提到的问题类似,但该解决方案对我无效:在 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'))
这个怎么样? - Tpojka