zoukankan      html  css  js  c++  java
  • 10-3 文件的上传

    五、文件的上传
            1.html标签需要做的上传设置
               1) form标签属性设置
                    1>method设置为post
                    2>enctype设置为multipart/form-data
                    3>form表单中设置隐藏类型的input,其中name值设置为MAX_FILE_SIZE,VALUE值设置为需要限制的上传文件的大小(单位为字节)
            2.在服务器端通过PHP处理上传文件,涉及到下面的几条信息
               1)与上传有关的 php配置选项(php.ini)
                    配置项                               可能值                功能描述
                    file_uploads                       ON                        确定服务器上的PHP脚本是否可以接受HTTP文件上传
                    memory_limit                   8M                        设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存
                    upload_max_filesize        2M                        限制PHP处理上传文件的最大值,此值必须小于post_max_size值
                    post_max_size                  8M                        限制通过POST方法可以接受的信息最大量
                    upload_tmp_dir               F:/wamp/tmp      上传文件存放的临时路径,可以是一个绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。
               2)$_FILES多维数组:用于存储各种与上传有关的信息
                    $_FILES['file']['name']             客户端机器文件的原名称,包含扩展名
                    $_FILES['file']['size']                已上传文件的大小,单位为字节
                    $_FILES['file']['tmp_name']    文件上传之后,在服务器端存储的临时文件名
                    $_FILES['file']['error']              文件上传时产生的错误
                                                                       0:表示没有发生任何错误,文件上传成功
                                                                       1:表示上传文件的大小超出了再PHP配置文件中upload_max_filesize选项限制的值
                                                                       2:表示上传文件大小超出了HTML表单中MAX_FILE_SIZE选项所指定的值   
                                                                       3:表示文件只被部分上传
                                                                       4:表示没有上传任何文件
                    $_FILES['file']['type']              获取客户端上传文件的MIME类型,MIME类型规定了各种文件格式的类型。每种MIME类型都是由/分隔的主类型和子类型组成
               3)PHP的文件上传处理函数:用于上传文件的后续处理
                    1>is_uploaded_file()判断指定的文件是否通过HTTP POST上传的
                    2>move_uploaded_file()文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传的文件移动到新位置

    <?php
    header('Content-type:text/html;charset=utf-8');
    if(isset($_POST['submit'])){
        if(is_uploaded_file($_FILES['myfile']['tmp_name'])){
            $arr=pathinfo($_FILES['myfile']['name']);
            $newName=date('YmdGis').rand(1000,9999);//根据时间来确定文件名称
            if(move_uploaded_file($_FILES['myfile']['tmp_name'],"uploads/{$newName}.{$arr['extension']}")){
                echo '恭喜你!上传成功!';
            }else{
                echo '对不起移动文件失败!';
            }
        }else{
            exit('可能有攻击,请你做合法的事情!');
        }
    }
    ?>
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
    <meta charset="utf-8" />
    <title>上传页面</title>
    </head>
    <body>
    <form action="" method="post" enctype="multipart/form-data">
        <input type="file" name="myfile" />
        <input type="submit" name="submit" value="开始上传" />
    </form>
    </body>
    </html>
  • 相关阅读:
    关于unsigned char的取反操作
    Windows10 添加永久路由
    mysql入门-触发器
    mysql入门-视图
    Mysql入门-索引
    Mysql入门-表操作
    mysql数据类型选取
    MQ-基本操作
    关于Hadoop集群的配置方法——另附安装网址
    关于——This is probably not a problem with npm. There is likely additional logging output above.——的解决方法
  • 原文地址:https://www.cnblogs.com/qianjilou/p/6939933.html
Copyright © 2011-2022 走看看