上传的图片不上传图片,而是刷新原始文件

时间:2017-09-15 00:26:47

标签: php html image file-upload upload

当我通过我的html上传图片时,我点击保存上传图片,有些东西已经坏了。

不会上传新图片,而只是刷新同一张图片。我可以看到因为在我的图像文件夹中的头像,现在完全相同的文件显示为刚刚更新,但它没有被新图像替换,它仍然是旧图像。

所以位置和路径以及一切看起来都是正确的,因为它发送到文件夹除了某些东西是错误的,因为它没有用新图像替换先前的图像,它只是用相同的旧图像更新旧图像。 / p>

另外,我有一个功能(未粘贴在下面的代码中),这是一个删除图像的复选框。但是,这也不起作用。

请帮我解决这个问题,一直很讨厌。它不是wordpress或任何东西,只是一个PHP文件。

这是我的PHP

$myAvatar = null;
    if((isset($_FILES['avatar']['tmp_name'])) && (strlen($_FILES['avatar']['tmp_name'])))
    {
        $myAvatar = $_FILES['avatar'];
    }


// save avatar
    $avatarsource = null;
    if($myAvatar)
    {
        // convert all images to jpg
        $imgInfo = getimagesize($myAvatar['tmp_name']);
        switch($imgInfo[2])
        {
            case IMAGETYPE_JPEG: $avatarsource = imagecreatefromjpeg($myAvatar['tmp_name']);
        break;
            case IMAGETYPE_PNG: $avatarsource = imagecreatefrompng($myAvatar['tmp_name']);
        break;
            default: $avatarsource = null;
        }
    }

    if(($avatarsource))
    {
        ob_start();
        imagejpeg($avatarsource, null, 100);
        $imageData = ob_get_contents();
        ob_end_clean();

        if($avatarsource)
        {
            // save new file
            cache::saveCacheToFile($avatarCachePath . '/origin_avatar.jpg', $imageData);
        }
    }       

这是我的HTML

<div>
    <label for="avatar">Upload Avatar</label>
    <input type="file" id="avatar" name="avatar">>
</div>

<div>
    <input type="hidden" value="1" name="submit"/>
    <button type="submit">submit</button>
</div>

0 个答案:

没有答案