zoukankan      html  css  js  c++  java
  • 6.28 头像预览:form方法和ajax方法

    一用form实现头像预览

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <script src="../public/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
        <title>Document</title>
        <style type="text/css">
            #sc{
                display:none;
            }
            #showing{
                100px;
                height: 100px;
                background-image: url(../0626liucheng/upfile/1530091054aa.jpg);
                background-size:100% 100%;
            }
            
            #upfile{
                opacity:0;
                width: 100%;
                height: 100%;
            }    
        </style>
    </head>
    <body>
        <form action="chuli.php" method="post" id="sc_form" enctype="multipart/form-data" target="sc">
            <div id="showing">                                                     <!-- target 属性规定在何处打开 action URL。-->
                <input type="file" name="upfile" id="upfile" value="" onchange="$('#sc_form').submit()"/>
            </div>
        </form>
        <!--<iframe> 标签规定一个内联框架。
                             一个内联框架被用来在当前 HTML 文档中嵌入另一个文档。-->
        <iframe id="sc" name="sc" src="" width="" height="">
            <!--PHP传过来的js代码-->
        </iframe>
    </body>
    </html>
    <script type="text/javascript">
        //当提交表单时,会发生 submit 事件。
        /*function aa(){
            $("#sc_form").submit();
        }*/
        function showImage(url){
            //alert(url);
            $("#showing").css("background-image","url("+url+")");
        }
    </script>
    ============================处理页面=======================================
    <?php
             //var_dump($_FILES['upfile']);
          $name = $_FILES['upfile']['name'];
          $type = $_FILES['upfile']['type'];
          $tmp_name = $_FILES['upfile']['tmp_name'];//储存的临时文件名,一般是系统默认。
          $error = $_FILES['upfile']['error'];
          $size = $_FILES['upfile']['size'];
          if(!empty($name)){
              if($error<=0){
                  if($type =="image/jpeg"){
                      if($size<=100000){
                          if(!is_dir("./upfile/")){
                              mkdir("./upfile/");
                          }
                          $path ="./upfile/".$name;
                          //转换编码格式
                        //$filename = iconv("UTF-8","gb2312",$filename);
                          if(move_uploaded_file($tmp_name,$path)){
                              echo "<script> window.parent.showImage('{$path}');</script>";
                             //在iframe的父级当前页面调用js代码
                          }
                      }
                  }
              }
          }
    ?>

    二 用ajax方法实现头像预览

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>Document</title>
        <script src="../public/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="../public/ajaxfileupload.js" type="text/javascript" charset="utf-8"></script>
        <style type="text/css">
            #showing{
                100px;
                height: 100px;
                background-image: url(../0626liucheng/upfile/1530091054aa.jpg);
                background-size:100% 100%;
            }
            #upfile{
                opacity:0;
                width:100%;
                height: 100%;
            }    
        </style>    
    </head>
    <body>
        <div id="showing">
            <input type="file" name="upfile" id="upfile" value="" title="上传附件" />
        </div>
        <input type="button" value="上传" onclick="upload()"/>
    </body>
    </html>
    <script type="text/javascript">
        function upload(){
            var path = $("#upfile").val();
            if($.trim(path)==""){
                alert("请选择要上传的文件");
                return;
            }
            $.ajaxFileUpload({
                type:"post",
                url:"chuli2.php",//这是服务器处理的代码
                secureuri:false,//是否启用安全提交,默认为false
                fileElementId:'upfile',//上传文件的id,name属性名
                dataType:"text",//返回值类型,一般设置为json,application/json
                data:{
                    
                },//传递参数到服务器
                success:function(data){
                    $("#showing").css("background-image","url("+data+")");
                }
            });
            $
        }
    </script>
    
    
    <?php
         //var_dump($_FILES['upfile']);
          $name = $_FILES['upfile']['name'];
          $type = $_FILES['upfile']['type'];
          $tmp_name = $_FILES['upfile']['tmp_name'];//储存的临时文件名,一般是系统默认。
          $error = $_FILES['upfile']['error'];
          $size = $_FILES['upfile']['size'];
          if(!empty($name)){
              if($error<=0){
                  if($type =="image/jpeg"){
                      if($size<=100000){
                          if(!is_dir("./upfile/")){
                              mkdir("./upfile/");
                          }
                          $path ="./upfile/".$name;
                          //转换编码格式
                        //$filename = iconv("UTF-8","gb2312",$filename);
                          if(move_uploaded_file($tmp_name,$path)){
                              echo $path;
                          }
                      }
                  }
              }
          }
    ?>
  • 相关阅读:
    项目中的*签到*小功能!
    亲们,拿到DateTime.Now你是否也是这样比较的?
    <input type="file" />,美化自定义上传按钮
    让你的页面实现自定义的 Ajax Loading加载的体验!
    按回车键提交表单!
    字符串比较大小,CompareTo来搞定!
    巧用Contains可以做到过滤同类项!
    项目开发中遇到的Bug知识整理!
    SharePoint中详细的版本对比
    ASP.NET安全隐患及SharePoint中的Workaround
  • 原文地址:https://www.cnblogs.com/sunhao1987/p/9240185.html
Copyright © 2011-2022 走看看