0

帮我解决同名图片的错误

<form action="img.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
   <input type="file" name="file" id="file" value=""/>
   <input type="submit" value="upload"/>
</form>

我的行动页面是。

<?php    
    $image_name = $_FILES["file"]["name"];
    $first_char = substr($image_name, 0, 1);

    if (!file_exists($first_char)) {
        mkdir($first_char);
    }

    $file = ($_FILES['file']['name']);
    $uploadfile = $first_char;
    if(file_exists($_FILES['file']['tmp_name'])) {
        move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile."/".$file);
        echo "GOOD";
    } else {
        echo "ERROR";
    }
?>

当我提交任何图像时,它会显示GOOD消息。另一方面,它运作良好

4

2 回答 2

1

您正在检查从中移动图像的临时目录。但是我认为如果已经有同名的文件,您会想要检查目的地。

尝试更改if(file_exists($_FILES['file']['tmp_name']))if(file_exists($uploadfile."/".$file))

于 2013-07-02T09:00:54.890 回答
0

你的代码做错了检查,

if(file_exists($_FILES['file']['tmp_name']))

您检查刚刚上传的文件是否存在,而不是您必须执行以下操作。

if(!file_exists($uploadfile."/".$file))

这将检查是否存在同名的文件,如果不存在,则可以将新文件移入,如果存在,则可以显示错误。

于 2013-07-02T08:59:51.317 回答