zoukankan      html  css  js  c++  java
  • 0628PHP练习:上传图片实时预览(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" />
        <title>Document</title>
        <script src="../0622/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
        <style type="text/css">
            #yulan{
                width: 300px;
                height: 200px;
                background-size: 100% 100%;
                background-image: url(shangchuan/05-370-230.jpg);
            }
            #upfileid{
                width: 100%;
                height: 100%;
                opacity: 0;
            }
        </style>
    </head>
    <body>
        <!--通过target属性把form表单跳转到iframe-->
        <form id="myform" action="shangchuanchuli.php" method="post" enctype="multipart/form-data" target="myifram">
            <div id="yulan">
                <!--input发生改变时提交form表单-->
                <input type="file" name="upfile" id="upfileid" onchange="$('#myform').submit()"/>
            </div>
        </form>
    <iframe name="myifram" style="display: none;"></iframe>
    </body>
    </html>
    <script type="text/javascript">
    //    修改图片背景函数
        function xianshitupian(lujing){
            $("#yulan").css("background-image","url("+lujing+")");
        }
    </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($type == "image/jpeg"){
    //                判断文件大小是否符合要求======================================================
                    if($size <= 1024000){
    //                    判断文件是否存在错误====================================================
                        if($error == 0){
    //                        查找文件存放位置路径是否存在=============================================
                            if(!is_dir("./shangchuan/")){
    //                            没有找到路径则先创造路径======================================
                                mkdir("./shangchuan/");
                            }
    //                        获取时间戳====================================================
                            $time = time();
    //                        拼接保存地址:路径+文件
    //                        例:C:/yingyongchengxu/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe
                            $xinlujing = "./shangchuan/".$time.$name;
    //                        如果路径中有中文字符需要先转换成UTF-8格式
                             $xinlujingzhuanhuan = iconv("UTF-8","gb2312",$xinlujing);
    //                         把转换后的路径保存
                            if(move_uploaded_file($tmp_name,$xinlujingzhuanhuan)){
    //                            直接调用父级元素中的xianshitupian()函数把修改之前的路径传回
                                echo "<script>window.parent.xianshitupian('{$xinlujing}')</script>";
                            }else{
                                echo "上传失败";
                            }
                        }else{
                            echo "上传错误";
    //                        假设文件上传字段的名称img,则:
    //                        $_FILES['img']['error']有以下几种类型
    //                        1、UPLOAD_ERR_OK
    //                        其值为 0,没有错误发生,文件上传成功。
    //                        2、UPLOAD_ERR_INI_SIZE
    //                        其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值。
    //                        3、UPLOAD_ERR_FORM_SIZE
    //                        其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
    //                        4、UPLOAD_ERR_PARTIAL
    //                        其值为 3,文件只有部分被上传。
    //                        5、UPLOAD_ERR_NO_FILE
    //                        其值为 4,没有文件被上传。
    //                        6、UPLOAD_ERR_NO_TMP_DIR
    //                        其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。
    //                        7、UPLOAD_ERR_CANT_WRITE
    //                        其值为 7,文件写入失败。PHP 5.1.0 引进。
                        }
                    }else{
                        echo "文件不能超过1M";
                    }
                }else{
                    echo "文件格式错误";
                }
            }else{
                echo "请选择文件";
            }
    ?>
  • 相关阅读:
    Apache Kafka:下一代分布式消息系统
    深入理解Java之线程池
    JAVA中线程同步的方法(7种)汇总
    String、StringBuffer与StringBuilder之间区别
    Java中是否可以继承String类,为什么
    JAVA4种线程池的使用
    一分钟教你知道乐观锁和悲观锁的区别
    java常见面试题及答案 11-20(JVM)
    springmvc中的页面解析器ViewResolver不起作用,变量输出字符串的解决方案
    SpringMVC默认欢迎页面的问题
  • 原文地址:https://www.cnblogs.com/zhangbaozhong/p/9237815.html
Copyright © 2011-2022 走看看