-1

在我的upload-image1.php的 1 中,我在这里得到了这段代码,但我认为我遗漏了一些东西,因为当我两次上传相同的图像时,它只会覆盖它不会重命名的图像。有没有我可以添加的代码来防止这种情况发生。如果还有其他文件需要你们查看,请告诉我,我会发布。它来自使用自定义上传的 WordPress 主题。

<?php 
$MAXIMUM_FILESIZE = 5 * 1024 * 1024; 
$uploaddir = './uploads/image/small_image/'; 
$file = $uploaddir . basename($_FILES['image1']['name']); 
$raw_file_name= $_FILES['image1']['tmp_name'];
list($width, $height) = getimagesize($_FILES['image1']['tmp_name']);
if ($width==80 && $height==80) {
    if (move_uploaded_file($_FILES['image1']['tmp_name'], $file)) { 
        echo "success";
    } 
    else {
        echo "error";
    }
}
else {
    echo "size_error";
}
?>
4

1 回答 1

0

move_uploaded_file预计会覆盖现有文件:PHP 文档(请参阅警告部分)。

如果要阻止它,请在文件名中添加一些内容:

$file = $uploaddir.time()."_".basename($_FILES['image1']['name']);

当然,您可以time()用许多其他选项替换:上传用户 IDdate("Ymd_His")等。

于 2012-08-31T03:53:52.910 回答