如何删除旧的上传文件并为PHP中的条目上传新文件?

时间:2014-03-03 11:29:13

标签: php file-upload file-io unlink

我正在制作一个编辑表单,用户可以在其中编辑项目详细信息并更改项目图像。项目详细信息在数据库中得到更新,但项目图像现在已更改。以下是我的代码......

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>

1 个答案:

答案 0 :(得分:2)

改变它

$_POST['item_img']

$_FILES["item_img"]["tmp_name"]