zoukankan      html  css  js  c++  java
  • 文件上传图片

    通过 PHP,可以把文件上传到服务器。里面加入一些图片的判断,如果不加判断文件的类型就可以上传任意格式的文件。
    为了网站的安全,肯定不让上传php文件,如果有人进入你的后台,上传了一个php文件,你的网站源码,全部救变成他的了,直接打包看你的代码。所以一定要控制上传的目录与文件类型,一般只可以上传图片。
    要实现文件上传图片我们需要写出两个php文件,第一个php文件我们需要写出一个文件上传的页面,
    第二个php文件我们写出实现图片上传的功能
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>无标题文档</title>
     6 </head>
     7 
     8 <body>
     9 
    10 <h1>文件上传</h1>
    11 <form action="upload.php" method="post" enctype="multipart/form-data">
    12    <input type="file" name="file" />
    13     <input type="submit" value="上传" />
    14 </form>
    15 </body>
    16 </html>

     1 <?php
     2 var_dump($_FILES["file"]);
     3 
     4 限制文件的类型
     5 限制文件的大小
     6 防止文件名重复
     7    
     8     一.防止文件名重复
     9    1.修改文件名
    10    流水号,时间戳+随机数+用户名
    11 
    12    2.建文件夹
    13    upload/20170317/lch/shangchuan/11.jpg
    14 
    15    3.保存文件
    16 
    17 if($_FILES["file"]["error"])
    18 {
    19    echo $_FILES["file"]["error"];
    20 }
    21 else
    22 {
    23    没有出错
    24    
    25     加限制条件
    26    if(($_FILES["file"]["type"]=="image/png" || $_FILES["file"]["type"]=="image/jpeg") && $_FILES["file"]["size"]<1024000)
    27    {
    28       
    29       防止文件名重复
    30       $filename = "./img/".time().$_FILES["file"]["name"];
    31       
    32     转码
    33       $filename = iconv("UTF-8","gb2312",$filename);
    34       
    35       
    36     if(file_exists($filename))
    37       {
    38          echo "该文件已存在";
    39       }
    40       else
    41       {
    42          保存文件
    43          move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
    44       }
    45    }
    46    else
    47    {
    48       echo "文件类型不对";
    49    }
    50 }

    注释:对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。 
    保存被上传的文件 
    上面的例子在服务器的 PHP 临时文件夹创建了一个被上传文件的临时副本。 
    这个临时的复制文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置: 

     上面的脚本检测了是否已存在此文件,如果不存在,则把文件拷贝到指定的文件夹。

  • 相关阅读:
    2013第五周上机任务【项目1 三角形类(构造函数)】
    Google搜索小技巧
    项目总结:文件上传(MVC uploadify)
    Oracle 触发器 Update 不能操作本表的疑问
    【笔试题STL】求两个vector的交集
    Zookeeper(六)数据模型
    是的,我们真的在遭遇有史以来最大的DDoS攻击,并且还在加剧
    在MFC框架下使用osg报内存泄露的解决办法
    NetBeans 时事通讯(刊号 # 107 Jun 25, 2010)
    VS 2008中的C/C++静态代码分析工具Prefast
  • 原文地址:https://www.cnblogs.com/axj1993/p/6579396.html
Copyright © 2011-2022 走看看