Я пытаюсь создать функцию загрузки профиля, которая, если вы не загрузите изображение, если вы мальчик, вы получите 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:
Да &&
сделал свое дело.Красиво сделано.Мой плохой, что не заметил этого раньше.