PHP 上传将文件名更改为“图像”


PHP uploading changes file name to "image"

我正在尝试让以下函数在上传时保留原始文件名。

现在,它会上传图像并将其存储在正确的文件夹中; 但是,它将文件名更改为 image.png .

.PHP:

class Upload {
    function upimg($file, $up = "./upload/") {
        $whitelist = array("jpg", "jpeg", "png", "gif");
        if (isset($_FILES[$file]) && $_FILES[$file]['error'] == 0) {
            $info = pathinfo($_FILES[$file]['name']);
            $extension = $info['extension'];
            list($width, $height, $type, $attr) = getimagesize($_FILES[$file]['tmp_name']);
            if (($width > 10 || $height > 10) & in_array($extension, $whitelist)) {
                $url = $file . '.' . $extension;
                move_uploaded_file($_FILES[$file]['tmp_name'], $up . $url);
                return $url;
            }
        }
    }
}

我想这是因为$file实际上并没有持有原始文件名......不知道如何解决这个问题。我哪里做错了??

您应该将定义$url的方式从$url = $file . '.' . $extension;更改为$url = $FILES[$file]['name'];