我正在制作一个编辑表单,用户可以在其中编辑项目详细信息并更改项目图像。项目详细信息在数据库中得到更新,但项目图像现在已更改。以下是我的代码......
if($_POST['item_img']){
$old_img = "img/items/$item_id.jpg";
$default_img = "img/items/default.jpg";
if (file_exists($old_img)) {
unlink($old_img);
$filename = $item_id.'.jpg';
move_uploaded_file ($_FILES["item_img"]["tmp_name"],"img/items/".$filename)
}elseif(file_exists($default_img)) {
unlink($default_img);
$filename = $item_id.'.jpg';
move_uploaded_file ($_FILES["item_img"]["tmp_name"], "img/items/".$filename);
}
}
我认为导致此问题的是我的if($_POST['item_img'])
声明。我可以将循环更改为。
第一个嵌套的if语句检查是否附加了图像,第二个if语句检查是否附加了默认图像。在这两种情况下,它都会删除旧图像并使用“item_id”作为名称设置新图像。
以下是我上传字段的代码:
<form class="stock" method="post" enctype="multipart/form-data" action="">'
<input type="file" name="item_img">
</form>
答案 0 :(得分:2)
改变它
$_POST['item_img']
到
$_FILES["item_img"]["tmp_name"]