<!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 "请选择文件"; } ?>