如何检查用户是否上传了图片,如果没有显示默认图片?

时间:2018-11-22 12:31:30

标签: php sql arrays compare

我的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 :(得分:0)

由于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文档:

  

如果filename不是有效的上传文件,则不会执行任何操作,并且   move_uploaded_file()将返回FALSE。

     

如果文件名是有效的上传文件,但无法移动某些文件名   原因,将不会执行任何操作,并且move_uploaded_file()将返回   假。此外,还会发出警告。

谢谢

相关问题