• 文件上传------图片


    文件上传,拿上传图片做个例子

    首先要写个form表单,之前是提交数据的,现在要上传文件提交图片,所以要在后面多加一个属性

    然后再选择文件,最后上传

    来看一下第一个页面的代码部分

    运行后看一下效果

    在这里不同的浏览器运行后,会出现不一样的样式,但是功能都是一样的用,点击浏览后,会弹出选择文件的窗口

    随便选择一个文件

     文件名就会显示在页面上,通过点击上传经过处理页面然后提交

    接下来再做第二个页面  shangchuan.php

     第二个页面提交的因为不是数据了,所以这里就不能用post了

    可以使用files数组来取了

    来看一下代码,先输出一下,看它输出的都是些什么

    点击上传

    出来的是数组

    file数组里面能够取到的内容  tem_name  后面是文件的路径,在服务器上暂时存了个临时文件

    如果常理来说只需要再做一步,把文件保存了就可以,但是做程序不能那么简单的做,得考虑各种因素,各个方面

    1、控制上传文件的类型

    2、控制上传文件的大小

    3、防止文件名重复

        修改保存的文件名       (1)用户名+时间戳+随机数+文件名    (2)流水号

        使用文件夹存文件防止文件名重复       最常用的是第一种

    4、保存文件

    来看一下shangchuan.php 页面代码部分

    <?php
    //var_dump($_FILES["file"]);   //索引写它的name值
    
    
    //判断文件上传是否出错
    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 "文件类型不正确";
        }
    }

    在运行前,先建个文件夹,在同一目录下

    用来储存上传的图片

    用第一个页面运行一下,看看能不能运行成功

    点击上传

    然后再去看一下那个文件夹

     上传成功

    注明: 如果上传的这些类型是伪造的,怎么确保保存的是上传图片,而不是随便给的一个路径

    通过   就可以确保,保存的一定是上传文件

     

    这句话是从UTF—8,转换为国标,用iconv方法就可以,如果不转换的话,有些文件名会有出现乱码的情况

  • 相关阅读:
    主成分分析(PCA)原理及R语言代写实现及分析实例
    R语言代写实现向量自回归VAR模型
    python代写在Keras中使用LSTM解决序列问题
    python代写使用MongoDB,Seaborn和Matplotlib文本分析和可视化API数据
    jl1.如何设置元素的宽高包含元素的边框和内边距
    51.纯 CSS 创作一个雷达扫描动画
    50.1扩展之小球摆动
    50.纯 CSS 创作一个永动的牛顿摆
    4.HTML+CSS制作个月亮
    49.纯 CSS 创作一支诱人的冰棍
  • 原文地址:https://www.cnblogs.com/qishuang/p/6277601.html
Copyright © 2020-2023  润新知