我正在尝试在编辑表单时上传图片。但是,当我更新它而不上传新图片时,它会删除在DB中存储为BLOB的图片,当我上传新图片时它会正常工作。但是当它为空时它会失败,表示file_get_contents不能为空并删除存储的图片(如果存在)
$image = addslashes(file_get_contents($_FILES['prod_pic']['tmp_name']));
如果($ image = file_get_contents())为空{
什么都不会发生,什么都不会被删除而且会被忽略 }
其他{ 上传或替换现有图片。 }
答案 0 :(得分:0)
您需要检查$ _FILES [' prod_pic'] ['错误']。它是一个集成商,如果它优于零,则无法上传文件。在您的情况下,它是代码错误4(未选择文件)。
所以你可以做到
if ($_FILES['prod_pic']['error'] == 0)
// replace current image with uploaded one
更多信息:http://php.net/manual/fr/features.file-upload.errors.php
您还可以查看$ _FILES [' prod_pic'] [' name'],因为在没有选择文件时它是空的:
if (!empty($_FILES['prod_pic']['name'])) // = a file was selected
// replace current image with uploaded one
建议使用第一个选项,因为文件可以部分上传。