【问题标题】:How to delete an old upload file and upload a new file for an entry in PHP?如何删除旧的上传文件并为PHP中的条目上传新文件?
【发布时间】: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


【解决方案1】:

改一下

$_POST['item_img']

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2015-01-06
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多