【发布时间】:2014-03-03 11:29:12
【问题描述】:
我正在制作一个编辑表单,用户可以在其中编辑项目详细信息并更改项目图像。项目详细信息在数据库中得到更新,但项目图像现在确实发生了变化。下面是我的代码...
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>
【问题讨论】:
-
这可能只是一个粘贴错误,但请更正嵌套
if块中move_uploaded_file行中的未封闭引号 -
哦,是的,我不小心删除了右括号 XD
标签: php file-upload file-io unlink