move_uploaded_file()不会替换现有图像

Bla*_*use 4 php

我正在使用下面的脚本,因此用户可以上传他们的个人资料图片.第一次上传图像(当图像不存在于该位置时),它的效果很好.但是,如果图像已存在于路径中(如果用户尝试更改配置文件图片),则新图像将不会替换旧图像.我确实获得了查询的成功.

任何帮助将非常感谢!

谢谢

<?php

ini_set('display_errors',1);

 error_reporting(E_ALL);


require_once('db.php'); 


$name = $_POST['name']; 

   $dir = '../uploadImages/'; 
   $file = basename($_FILES['image']['name']);

   $uploadfile = $dir . $file;


    if(move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile))
    {


        $path = $name; 
        $path .= 'Image.png';       
        $query = mysql_query("UPDATE users SET imagePath='$path' WHERE username='$name'");

        if ($query)
        {
            echo 'success'; 
        }
        else 
        {
            echo 'error'; 
        }


    }
    else 
    {
        echo mysql_error(); 
    }


 ?>
Run Code Online (Sandbox Code Playgroud)

Kis*_*dan 28

如果文件存在,更好的方法是取消链接文件

if(file_exists('your-filename.ext')) {
    chmod('your-filename.ext',0755); //Change the file permissions if allowed
    unlink('your-filename.ext'); //remove the file
}

move_uploaded_files($_FILES['image']['tmp_name'], 'your-filename.ext');
Run Code Online (Sandbox Code Playgroud)

  • 不一定更好.move_uploaded_file应该自己做 (3认同)