在Db中保留较早上传的图像

时间:2018-07-20 06:13:47

标签: php html image-uploading

我的客户信息中心中有一个页面,用于编辑他的内容。

一旦我点击“编辑”按钮,它就会重定向到另一个页面,并且有一个用于上传新图像和内容的选项。

问题:如果未上传新图像,则假设仅更改了一些文本字段,然后单击“更新”,则文本内容发生更改并重定向到主页,但是图像已从数据库中删除,但是我不希望图像从数据库中删除。 db,如果没有新图片上传。

有两个文件 1)index.php 2)editabout.php

index.php

<div class="main-container">
<div class="row">
    <div class="container">
        <div class="col-lg-12">
            <div class="row">
                <?php include('db.php'); $select=mysql_query("SELECT * FROM `about`"); while($row=mysql_fetch_array($select)){?>
                <div class="col-md-3"><img id="profileimage" src="about/<?php echo $row['image']; ?>" style="width:100%;height:200px;" class="img-thumbnail img-responsive" required>
                    <div class="row">
                        <div class="col-md-6"> <a href="editaboutimg.php?bid=<?php echo $row['sl.no']; ?>" onclick="return confirm('Are you sure you want to Edit this image?');"><input style="width:100%;" class="btn btn-info btn-lg mb-3 mr-3" type="submit" value="Edit"></a></div>
                    </div>
                </div>
                <?php}?>
            </div>
        </div>
    </div>
</div>

editabout.php

<div class="row">
<div class="col-lg-4">
  <form action="" method="post" enctype="multipart/form-data">
  <div class="main-container file-upload">
    <div class="file-upload__dropzone">
    <?php
    include('db.php');
    $select=mysql_query("SELECT * FROM `about` where `sl.no`='$bid' ");
    while($row=mysql_fetch_array($select)){
    ?>
    <img id="profileimage" src="about/<?php echo $row['image']; ?>" value="<?php echo $row['image']; ?>" class="img-thumbnail img-responsive" style="width:100%;height:200px;">
    <?php } ?>

      <div class="file-upload__browse-files">
        <button class="btn btn-outline-info btn-lg btn-block btn-rounded file-upload__browse-btn">Browse files</button>
        <input id="upload-files-default" name="img" type="file" multiple class="upload" onchange="readURL(this);">
      </div><br>
     <button class="btn btn-success btn-lg mb-2 mr-3" name="ok" type="submit">Update</button>
    </div>
    </div>
    </form>
    </div>

用于上传的Php代码

include('db.php');
if(isset($_POST['ok']))
{
$photo=$_FILES['img']['name'];  
$target_dir = "about/"; 
$location = $target_dir .$_FILES["img"]["name"];
move_uploaded_file($_FILES['img']['tmp_name'],$location);
$query1="UPDATE `about` SET `image`='$photo',
							 `up_date`=now()
							  WHERE `about`.`sl.no` ='$bid'";
mysql_query($query1);

1 个答案:

答案 0 :(得分:0)

在执行任何查询之前,您必须检查文件是否存在/上载。下面是一个示例:

if(is_uploaded_file($_FILES["img"]["tmp_name"] && file_exists($_FILES["img"]["tmp_name"])){
   //update query with picture
   //move_uploaded_file here
}else{
  //Only query updating does details without move_uploaded_file
}

以上代码必须放在if(isset($_POST["ok"]))代码块中。