Ajax和PHP实现异步上传头像

小云云
发布: 2018-03-10 11:38:49
原创
2369人浏览过

本文主要和大家分享Ajax和PHP实现异步上传头像实例,希望能帮助到大家。

效果截图:


上传页面

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        头像:@@##@@<br />
        选择文件:<input type="file" id="file1" /><br />
                 <input type="button" id="upload" value="上传" /> <span id="result"></span>
                 @@##@@ 
        <script src="jquery-1.11.2.min.js"></script>
        <script>
            $(function () {
                $("#upload").click(function () {
                    $("#imgWait").show();
                    var formData = new FormData();
                    formData.append("myfile", document.getElementById("file1").files[0]);   
                    $.ajax({
                        url: "upload.php",
                        type: "POST",
                        dataType: 'json',
                        data: formData,
                        /**
                        *必须false才会自动加上正确的Content-Type,否则会执行error步骤
                        */
                        contentType: false,
                        /**
                        * 必须false才会避开jQuery对 formdata 的默认处理,否则会报Uncaught TypeError: Illegal invocation
                        * XMLHttpRequest会对 formdata 进行正确的处理
                        */
                        processData: false,
                        success: function (data) {
                            if(data.code == 200){
                                $('#avatar').attr('src',data.datas.filename);
                            }
                            $('#result').html(data.msg);
                            $("#imgWait").hide();
                            setTimeout(function(){
                                $('#result').html('');
                            }, 1200);
                        },
                        error: function () {
                            alert("上传失败!");
                            $("#imgWait").hide();
                        }
                    });
                });
            });
        </script>
    </body>
</html>
登录后复制

后台代码:

<?php
    $tmp_name = $_FILES['myfile']['tmp_name'];
    $current_time = date("Y-m-d H-i-s");
    if(is_uploaded_file($tmp_name)){
        $filename = './'.$current_time.'.jpg';
        $return = move_uploaded_file($tmp_name,$filename);
        $return ? output('200','上传成功!',['filename' => $filename]) : output('400','上传失败!');
    }else{
        output('555','非法文件!');
    }

    function output($code,$msg,$datas = array()){
        $outputData = array(
            'code' => $code,
            'msg' => $msg, 
            'datas' => $datas 
        );
        exit(json_encode($outputData));
    }
登录后复制

相关推荐:

立即学习PHP免费学习笔记(深入)”;

angularjs利用$http异步上传Excel文件方法分享

html里怎样实现异步上传文件

php和ajax实现异步上传文件或图片代码分享

Ajax和PHP实现异步上传头像Ajax和PHP实现异步上传头像

以上就是Ajax和PHP实现异步上传头像的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号