Как я могу проверить, загрузил ли пользователь изображение и не показывает ли изображение по умолчанию? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть функция загрузки, реализованная в моем HTML-коде.Далее я сохраняю пользовательский ввод (загрузка изображений) в виде массива в моей базе данных SQL:

if(isset($button_pressed))
{
    $image = $_FILES['image']['name'];
    move_uploaded_file($_FILES['image']['tmp_name'], 'images/' . $_FILES['image']['name']);
    ....
}

Теперь у меня проблема.В случае, если кто-то не загружает изображение, я хочу, чтобы вместо ничего отображалось изображение по умолчанию (no_img.png).Например, теперь показываются загружаемые пользователем изображения, но если пользователь не загружает изображение, я хочу вывод изображения по умолчанию.

Кто-нибудь знает, как это сделать?

Это должно работать так:

if (/*no image uploaded*/) {
    //set default image;
} else {
    //set user uploaded image; 
}

Спасибо!

1 Ответ

0 голосов
/ 22 ноября 2018

В связи с тем, что функция move_uploaded_file возвращает логическое значение в зависимости от того, был ли файл, который вы передали ему, был действительно загружен и перемещен, вы можете сделать это очень коротким способом следующим образом:

if(move_uploaded_file($_FILES['image']['tmp_name'], 'images/' . $_FILES['image']['name'])) {
  // Show uploaded image (HTML to draw the uploaded image by its path)
} else {
  // Show default image (HTML to draw the default image by its path)
}

Этот код будет отображать загруженное изображение как в том случае, если изображение было загружено, так и после его перемещения, а если оно не было загружено, оно будет отображать значение по умолчанию

Как указано в документации PHP:

Если имя файла не является допустимым файлом загрузки, никаких действий не произойдет, и move_uploaded_file () вернет FALSE.

Если имя файла является допустимым файлом загрузки, но не может быть перемещен по какой-либо причине, никаких действий не произойдет, и move_uploaded_file () вернет FALSE.Дополнительно будет выдано предупреждение.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...