zoukankan      html  css  js  c++  java
  • 文件的操作,如何做文件上传

    上传就是本地的文件,比如说一张图片放到服务器上

    先做一个form表单

    <form action="shangchuan.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file" />
        <input type="submit" value="上传" />
    </form>

    enctype="multipart/form-data"   如果是用来上传文件的,就需要额外加这个属性

    这样就可以提交文件了

    这时处理页面使用FILES取

    如何把文件存下来?安全保险

    1.控制上传文件类型

    2.控制上传文件大小

    3.防止文件名重复

       1. 修改保存的文件名  

        用户名+时间戳+随机数+文件名,这样可以防止重复

        流水号 做法就稍微复杂一些  每次我取名字的时候看最后的多大,然后再加个1

      

        使用文件夹

           public/1ch/2017-2-12/1.jpg  这样也可以尽量避免重名,但不是很精确

    4.保存文件

    //判断文件上传是否出错
    if($_FILES["file"]["error"])
    {
        echo $_FILES["file"]["error"];
    }
    else
    {
        //控制上传文件的类型,大小
        if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000)
        {
            //找到文件存放的位置
            $filename = "./file/".date("YmdHis").$_FILES["file"]["name"];
            
            //转换编码格式
            $filename = iconv("UTF-8","gb2312",$filename);
            
            //判断文件是否存在
            if(file_exists($filename))
            {
                echo "该文件已存在!";
            }
            else
            {
                //保存文件
                move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
            }
        }
        else
        {
            echo "文件类型不正确!";
        }
    }

           

  • 相关阅读:
    python web 2
    python web1(解析url)
    webstrom 今天突然要激活
    数组排序 记录一下
    浏览器添加随机数去除缓存
    vue-cli 安装报错
    vue 初始化项目报错
    深拷贝和浅拷贝
    css3 属性 clip-path
    js数组去重
  • 原文地址:https://www.cnblogs.com/zqseven/p/6277364.html
Copyright © 2011-2022 走看看