zoukankan      html  css  js  c++  java
  • 文件上传及预览

    现在上传头像是很常见的了在很多地方可以用到

    在这里我们了解一下怎么上传图像

    一、文件上传功能

    (1)第一是要有这个上传页面了

    首先是要写表单元素了(其中就有处理页面“关于上传的处理了,其中有些规则可以写”,还有传输方式,再就是一个重要的属性,因为是文件上传,所以要有这个属性:enctype="multipart/form-data")再就是关于按钮了,表单决定之后,就是里面的内容,文件上传自然按钮的类型是“file”;然后就是“上传”按钮了,这个要用到提交,所以按钮类型要用“submit”的,代码如下:

    1 <form action="schuli.php" method="post" enctype="multipart/form-data">
    2 选择文件:<input type="file" name="file" /> <input type="submit" value="提交" />
    3 
    4 </form>

    效果就是上面我发的那张图片

    (2)第二就是重要的文件上传的处理页面了

     1 <?php
     2 
     3 //取文件信息
     4 $arr=$_FILES["file"];
     5 //var_dump($arr);
     6 
     7 //加限制条件
     8 //1.文件类型
     9 //2.文件大小
    10 //3.保存的文件名不重复
    11 if(($arr["type"]=="image/jpeg" || $arr["type"]=="image/png") && $arr["size"]<1024000 )
    12 {
    13         //临时文件的路径
    14     //$arr["tmp_name"];
    15         
    16     //上传的文件存放的位置
    17     //1.用户名加时间戳
    18     //2.类似网盘,使用文件夹来防止重复
    19     $filename="./images/".time().$arr["name"];
    20     
    21     //保存之前判断该文件是否存在
    22     if(file_exists($arr["name"]))
    23     {
    24         echo "该文件已存在";
    25     }
    26     else
    27     {
    28         //转换编码格式
    29         $filename=iconv("UTF-8","gb2312",$filename);
    30         //移动临时文件到上传的文件存放的位置
    31         //1.临时文件的路径 2.存放的路径
    32         move_uploaded_file($arr["tmp_name"],$filename);
    33         }  
    34     }
    35 else
    36 {
    37     echo "上传的文件类型和大小不正确";
    38 }

    二,上传文件预览

    上传图片时,都会先看效果怎么样,然后再上传的,接下来就是图片预览功能了

     1 <form id="sc" action="ylchuli.php" method="post" enctype="multipart/form-data" target="shangchuan">
     2     
     3     
     4     <input type="hidden" name="tp" value="" id="tp" />
     5     
     6     <div id="yl">
     7         <input type="file" name="file" id="file" onchange="document.getElementById('sc').submit()" />
     8     </div>
     9     
    10     
    11     
    12 </form>
    13 
    14 <iframe style="display:none" name="shangchuan" id="shangchuan">
    15 </iframe>

    给div加样式

    1 <style type="text/css">
    2 #yl{ 200px; height:300px; background-image:url(images/1495078781tuzi.jpg); background-size:200px 300px;}
    3 #file{ 200px; height:300px; float:left; opacity:0;}
    4 </style>

    这个预览是用js做的

     1 <script type="text/javascript">
     2 
     3 //回调函数,调用该方法传一个文件路径,该变背景图
     4 function showimg(url)
     5 {
     6     var div = document.getElementById("yl");
     7     div.style.backgroundImage = "url("+url+")";
     8     
     9     document.getElementById("tp").value = url;
    10 }
    11 
    12 </script>

    再就是处理页面

     1 <?php
     2 
     3 if($_FILES["file"]["error"])
     4 {
     5     echo $_FILES["file"]["error"];
     6 }
     7 else
     8 {
     9     if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png")&& $_FILES["file"]["size"]<1024000)
    10     {
    11         $fname = "./images/".date("YmdHis").$_FILES["file"]["name"];    
    12         
    13         $filename = iconv("UTF-8","gb2312",$fname);
    14         
    15         if(file_exists($filename))
    16         {
    17             echo "<script>alert('该文件已存在!');</script>";
    18         }
    19         else
    20         {
    21             move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
    22             
    23             
    24             $delurl = iconv("UTF-8","gb2312",$_POST["tp"]);
    25             unlink($delurl); //删除文件
    26             
    27             echo "<script>parent.showimg('{$fname}');</script>";
    28         }
    29         
    30     }
    31 }

    效果:

    当想换图片时点击图片

    就会出现你的图片点击图片换上就行

    这样就换好了。

  • 相关阅读:
    python解析本地HTML文件
    爬取潇湘书院首页侧边栏
    Python文件的读取写入操作
    Python错误和异常
    Python字典
    python列表
    电文加密小程序
    课后练习题随笔(一)
    Redis基础操作
    Django学习_BBS开发
  • 原文地址:https://www.cnblogs.com/douchenchen/p/6874226.html
Copyright © 2011-2022 走看看