下面是我的代码,它运行正常,但我怎样才能添加" _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";
}
答案 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";
}