zoukankan      html  css  js  c++  java
  • 头像上传【实用php】

    前端部分

    <form target="avatar-frame" method="post" action="{:U('Member/avatar')}" enctype="multipart/form-data" id="avatar-form">
                        <div class="user-photo" id="preview"><empty name="user['avatar']"><i class="fa fa-user-circle"></i><else/><img src="__ROOT__{$user.avatar}" alt=""></empty></div>
                        <input type="file" name="avatar" class="avatar-input" id="changeAvatar" onchange="previewImage(this)" >
                        </form>
                        <iframe name="avatar-frame" style="display: none;"></iframe>

    js部分

    <script src="__JS__/jquery.form.js"></script>
    <script>
    //图片上传预览    IE是用了滤镜。
    function previewImage(file)
    {
    
        var MAXWIDTH  = 260;
        var MAXHEIGHT = 180;
        var div = document.getElementById('preview');
        if (file.files && file.files[0])
        {
            div.innerHTML ='<img id=imghead>';
            var img = document.getElementById('imghead');
            // img.onload = function(){
                // var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
                // img.width  =  rect.width;
                // img.height =  rect.height;
    //                 img.style.marginLeft = rect.left+'px';
    //                img.style.marginTop = rect.top+'px';
            // }
            var reader = new FileReader();
    
            reader.onload = function(evt){img.src = evt.target.result;}
    
            reader.readAsDataURL(file.files[0]);
            // console.log(document.getElementById('avatar-form'),$('#avatar-form'))
            document.getElementById('avatar-form').submit();
            // document.getElementById('avatar-form').ajaxSubmit({ type:'post', url:"{:U('Upload/avatarUpload')}", success:function(data){ alert(123); alert("uuuuuuuu");});
        }
        else //兼容IE
        {
            var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
            file.select();
            var src = document.selection.createRange().text;
            div.innerHTML = '<img id=imghead>';
            var img = document.getElementById('imghead');
            img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
            var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
            status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
            div.innerHTML = "<div id=divhead style='"+rect.width+"px;height:"+rect.height+"px;"+sFilter+src+""'></div>";
    //            div.innerHTML = "<div id=divhead style='"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+""'></div>";
        }
    }
    </script>

    php部分

        /**
         * 修改上传头像
         */
        public function avatar(){
            // var_dump($_FILES,$_POST);exit;
            if($_FILES){
                $imgConfig = array(
                        'maxSize'  => 0, //上传的文件大小限制 (0-不做限制)
                        'exts'     => 'jpg,gif,png,jpeg', //允许上传的文件后缀
                        'autoSub'  => true, //自动子目录保存文件
                        'subName'  => array('date', 'Ymd'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
                        'rootPath' => './Uploads/avatar/', //保存根路径
                        'savePath' => '', //保存路径
                        'saveName' => array('uniqid', ''), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
                );
                // var_dump($_FILES['avatar']['size']);exit;
                $upload = new ThinkUpload($imgConfig);
                $result = $upload->uploadOne($_FILES['avatar']);
                if ($result){
                    $rootpath = trim($imgConfig['rootPath'],".");
                    $avatar['avatar'] = '/Uploads/Avatar/'.$result['savepath'].$result['savename'];
                    $userId = UID;
                    $where['uid'] = $userId;
                    if(M('member')->where($where)->save($avatar)){
                        $_SESSION['user']['avatar'] = $avatar['avatar'];
                    }
                    // if($_POST['oldAvatar']){
                    //     $_POST['oldAvatar'] = '.'.$_POST['oldAvatar'];
                    // $bool = delDir($_POST['oldAvatar'],true);
                    // }
                    echo '修改成功';
                }else {
                    echo '修改失败';
    
                }
            }
        }
  • 相关阅读:
    严援朝座右铭
    王治郅 请让爱国走下神坛
    Java 事件处理实例
    SAP ERP 与 Oracle ERP 比较
    Gantt Component for Delphi Pure Pascal code(TsyGantt VCL)
    XMLRPC vs. SOAP
    Interfaces with Constants Only(java中通用常量定义)
    船舶设计软件简介
    DelphiARX 2000i 简介
    JAVA事件适配器用内部类,匿名类实现事件处理
  • 原文地址:https://www.cnblogs.com/jierong12/p/9805196.html
Copyright © 2011-2022 走看看