HTML直接上传图片

时间:2017-04-01 17:58:08

标签: javascript php html

我有一个页面,允许用户上传他们的照片作为他们的个人资料照片。我有这段代码:

<form method = "post" action = "" enctype="multipart/form-data">
    <input type = "hidden" name = "size" value = "1000000">
    <input type = "file" name = "image">
    <input type = "submit" name = "upload" value = "Upload Image">
</form>

我的php:

if(isset($_POST['upload'])) {
    $target = "profileimgs/".$key.basename($_FILES['image']['name']); 

    $image = $key.basename($_FILES['image']['name']);


    $sql = "UPDATE users SET img = '$image' WHERE idnumber = $idnumber";
    mysqli_query($con,$sql);

    if(move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
        header("Location:home.php");
    } else {
        header("Location:error_uploading.php");
    }
}

通过选择图片,将显示的唯一预览是图片的文件名。我想添加&#34;预览&#34;在他们选择图像后立即选择他们的图像。就像你在Facebook上传个人资料图片一样 - 你从电脑上选择了一张图片,然后当你点击select picture时,它会自动将你的照片上传到页面并为你提供预览,而不必点击那么多纽扣。

我能做些什么来实现这个目标吗?

2 个答案:

答案 0 :(得分:1)

<form id="form1" runat="server">
   <input type='file' id="imgInp" />
   <img id="blah" src="#" alt="your image" />
</form>


<script type="text/javascript">
function readURL(input)
{
        if (input.files && input.files[0]) {
            var reader = new FileReader();

            reader.onload = function (e) {
                $('#blah').attr('src', e.target.result);
            }

            reader.readAsDataURL(input.files[0]);
        }
}

$("#imgInp").change(function(){
    readURL(this);
});
</script>
It will show instead image using javascript base encode. your php code work as well as. 

答案 1 :(得分:0)

您可以使用jasny插件的图片上传小工具,有一个漂亮的上传者

enter image description here