【问题标题】:How to replace file in folder with php如何用php替换文件夹中的文件
【发布时间】:2018-10-11 11:17:20
【问题描述】:

我尝试让函数编辑数据,但它不起作用。当文件/img 为空时,数据成功插入,没有文件或图像,但是,当文件已经存在时,替换它,它会失败。

HTML 代码:

  <form method="post" id="insert_form" enctype="multipart/form-data">
  <label>Enter Employee Name</label>
  <input type="text" name="name" id="name" class="form-control" />
  <br />
  <label>Enter Employee Address</label>
  <textarea name="address" id="address" class="form-control"></textarea>
  <br />
  <label>Select Gender</label>
  <select name="gender" id="gender" class="form-control">
    <option value="Male">Male</option>
    <option value="Female">Female</option>
  </select>
  <br />
  <label>Enter Designation</label>
  <input type="text" name="designation" id="designation" class="form-control" />
  <br />
  <label>Enter Age</label>
  <input type="text" name="age" id="age" class="form-control" />
  <br />
  <label>File</label>
  <br>
  <div>
    <img src="" id="pict" width="100px" class="img-thumbnail">
  </div>
  <br>
  <input type="file" name="image" id="image">
  <span id="errMess"></span>
  <br/>
  <br>
  <input type="hidden" name="employee_id" id="employee_id" />
  <input type="submit" name="insert" id="insert" value="Insert" class="btn btn-success" />
</form>

php代码:

$conn = mysqli_connect('localhost','root','','test');
$name = mysqli_real_escape_string($conn,$_POST['name']);
$address = mysqli_real_escape_string($conn,$_POST['address']);
$gender = mysqli_real_escape_string($conn,$_POST['gender']);
$designation = mysqli_real_escape_string($conn,$_POST['designation']);
$age = mysqli_real_escape_string($conn,$_POST['age']);
$extensi  = explode(".", $_FILES['image']['name']);
$img      = "ND-".round(microtime(true)).".".end($extensi);
$temp = $_FILES['image']['tmp_name'];
move_uploaded_file($tmp, "assets/img/myfolder/".$img);
$id = $_POST['employee_id'];
if($id != '')
{
  if($_FILES['image']['name'] == "")
  {
    $query = "UPDATE tbl_employee SET name='$name', address='$address', 
              gender='$gender', designation='$designation', age='$age' WHERE id = '$id' ";
    $message = "data Update";
  }
  else
  {
    $sqlQ     = "SELECT * FROM tbl_employee WHERE id = '$id'";       
    unlink("assets/img/myfolder/".**??????**); // confuse about this
    move_uploaded_file($temp, "assets/img/myfolder/".$img);
    $query    = "UPDATE tbl_employee SET name='$name', address='$address',gender='$gender', designation='$designation', age='$age',image='$img' WHERE id = '$id' ";
    $message  = "data Update";
  }
}
$sql = $conn->query($query);

【问题讨论】:

  • 你遇到了什么错误?
  • 我无法取消链接文件:unlink("assets/img/myfolder/".**??????**);警告:取消链接(assets/img/barang/):权限被拒绝
  • permission denied 与您的 PHP 代码无关。运行您的脚本的帐户根本没有文件或文件夹所需的权限 - 您需要授予它。

标签: php ajax


【解决方案1】:

问题解决了,我尝试在unlink前面加上**@**,就可以了:

@unlink($folder);
    move_uploaded_file($sumber, "assets/img/product/".$img);
    $query    = "UPDATE tbl_employee SET name='$name', address='$address', 
              gender='$gender', designation='$designation', age='$age', image='$img' WHERE id = '$id' ";

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 2012-11-20
    • 1970-01-01
    • 2011-08-26
    • 2015-11-13
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多