更改图像名称(如果已存在),然后上载到数据库和目录

时间:2017-10-14 10:03:37

标签: javascript php mysql

下面是我的代码,它运行正常,但我怎样才能添加" _copy"当图像名称已经存在时,在图像名称中,然后将其上传到"艺术品"目录并在" Artworks"中插入更新的名称。表

$targeta = "artworks/";
    $targeta = $targeta . basename( $_FILES['image']['name']);
    $pic=($_FILES['image']['name']);

    if(move_uploaded_file($_FILES['image']['tmp_name'], $targeta)){
       echo "Image uploaded";
    }
    else {
       echo "Image name already exist";
    }
    $results = $db->query("INSERT INTO Artworks (`Image`) VALUES ('$pic');");
    if($results){
    echo "New row inserted";
    }

1 个答案:

答案 0 :(得分:0)

检查是否file_exists($targeta)并重命名并将其移至目的地。

$target_path = "artworks/";
$targeta = $target_path . basename( $_FILES['image']['name']);
$pic=($_FILES['image']['name']);

if(file_exists($targeta)) {
    $lastdot = strrpos($_FILES['image']['name'], '.');
    $basefilename = substr($_FILES['image']['name'], 0, $lastdot);
    $extension = substr($_FILES['image']['name'], $lastdot);
    $pic = $basefilename . '_copy' . $extension;
    $targeta = $target_path . $pic;
    echo "Image name already exist. Renaming to: " . $pic;
}

if(move_uploaded_file($_FILES['image']['tmp_name'], $targeta)){
   echo "Image uploaded";
}
else {
   echo "Cannot move file to destination";
}
$results = $db->query("INSERT INTO Artworks (`Image`) VALUES ('$pic');");
if($results){
echo "New row inserted";
}