我正在尝试创建一个配置文件上传功能,如果您是男孩则不上传图像,则将john.png
作为默认图像,如果是女孩则将获取mary.png
作为默认图片。如果您上传照片,则您的个人资料照片将更改为新上传的图像,但不应删除john.jpg
或mary.png
。而且,如果您决定再次上传新照片,则只能替换以前上传的照片。因此,基本上john.jpg
或mary.png
将永远不会被覆盖,并且用户在数据库/系统中只能有一张照片。这是我到目前为止所做的:
$user = User::find($request->id);
if ($request->hasFile('user_image')) {
if ($user->user_image != 'john.jpg' || $user->user_image != 'mary.png') {
Storage::delete('public/user_images/' . $user->user_image);
}
$user->user_image = $newPhoto;
}
不幸的是,此逻辑删除了john.jpg
或mary.png
,但是如果用户再次上传,它将替换覆盖默认图像的先前图像。
此行if ($user->user_image != 'john.jpg' || $user->user_image != 'mary.png')
将始终给出一个true
和一个false
。有人可以用正确的逻辑帮助我吗?
EDIT:
是的,&&
做到了。做得很好。我很遗憾没有早一点注意到这一点。