zoukankan      html  css  js  c++  java
  • 第十三章 上传文件

    学习要点:
    1.PHP 上传配置
    2.$_FILES 数组
    3.PHP 上传函数

    虽然大多数人认为Web 只包含网页,但HTTP 协议实际上可以传输任何文件,如office
    文档、PDF、可执行文件、AVI、压缩文件及各种其他文件类型。虽然FTP 在历史上一直是
    向服务器上传文件的标准方式,但通过网页上传文件也逐渐流行起来。

    一.PHP上传配置

    有一些配置指令可用于精细地调节PHP 的文件上传功能。这些指令用来确定是否启用
    PHP 的文件上传、可允许的最大上传文件大小、可允许的最大脚本内存分配和其他各种重
    要的资源。
    1.file_uploads=on|off : 确定服务器上的PHP 脚本是否可以接受文件上传。
    2.max_execution_time=integer :PHP 脚本在注册一个致命错误之前可以执行的最长时
    间,以秒为单位。
    3.memory_limit=integer : 设置脚本可以分配到的最大内存,以MB 为单位。这可以防
    止失控的脚本独占服务器内存。
    4.upload_max_filesize=integer :设置上传文件最大大小,以MB 为单位。此指令必须小
    于post_max_size。
    5.upload_tmp_dir=string :设置上传文件在处理之前必须存放在服务器的临时一个位置,
    直到文件移动到最终目的地为止。
    6.post_max_size=integer :确定通过POST 方法可以接受的信息的最大大小,以MB 为
    单位。

    二.$_FILES数组

    上传表单的HTML

    <form enctype="multipart/form-data" action="upload.php" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    上传文件: <input type="file" name="userfile" />
    <input type="submit" value="上传" />
    </form>

    ENCTYPE="multipart/form-data",这里是固定写法,否则文件上传失败
    ACTION="upload.php“,定义要处理上传的程序文件路径
    METHOD="post",定义传输方式为POST,一般情况下Form提交数据都设置为POST

    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">,这是一个隐藏域,定
    义了上传文件的大小上限,超过这个值时,上传失败。它必须定义在文件上传域的前面.
    而且这里定义的值不能超过在php.ini 文件中upload_max_filesize 设置的值,否则没有意
    义了.(注意:MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的
    绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP.ini设置中的上传文件最
    大值,是不会失效的。但是最好还是在表单中加上MAX_FILE_SIZE,因为它可以避
    免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。)
    <input type="file" name="userfile" />,这是文件上传域,Type属性必须设置为file, 但Name属性
    可以自定义,这个值会在代码文件中使用.

    $_FILES 超级全局变量,它储存各种与上传有关的信息,这些信息对于通过PHP 脚本
    上传到服务器的文件至关重要。
    1.存储在$_FILES["userfile"]["tmp_name"] 变量中的值就是文件在Web 服务器中临时存
    储的位置。
    2.存储在$_FILES["userfile"]["n ame"]变量中的值就是用户系统中的文件名称。
    3.存储在$_FILES["userfile"]["s ize"]变量中的值就是文件的字节大小。
    4.存储在$_FILES["userfile"]["type"]变量中的值就是文件的MIME 类型,例如:text/plain
    或image/gif。
    5.存储在$_FILES["userfile"]["error"]变量中的值将是任何与文件上载相关的错误代码。
    这是在PHP4.2.0 中增加的新特性。error 分别提供了一些数组常量:0:表示没有发生错误,1:
    表示上载文件的大小超出了约定值。文件大小的最大值是PHP 配置文件中指定的,该指令
    是upload_max_filesize。2:表示上载文件大小超出了HTML 表单的MAX_FILE_SIZE 元素所
    指定的最大值。3:表示文件只被部分上载。4:表示没有上载任何文件。

    <?php
    print_r($_FILES);
    ?>

    三.PHP上传函数

    PHP 的文件系统库中提供了大量文件处理函数,除此之外,PHP 还提供了两个专门用
    于文件上传过程的函数:is_uploaded_file()和move_uploaded_file()。

    1.确定是否上传文件:is_uploaded_file()

    <?php
    if (is_uploaded_file($_FILES["userfile"]["tmp_name"])) {
        echo '已经上传到临时文件夹';
    } else {
        echo '失败';
    }
    ?>

    2.移动上传文件:move_uploaded_file()

    <?php
    if (!move_uploaded_file($_FILES["userfile"]["tmp_name"],$_FILES["userfile"]["name"])) {
        echo '移动失败';
        exit;
    }
    ?>

     注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

  • 相关阅读:
    ajax同步和异步
    vue组件
    type of的返回值有哪些
    git配置
    vue 获取时间戳对象转换为日期格式
    JavaScript运行机制
    单页面开发首屏加载慢,白屏如何解决
    单页面和多页面开发的优缺点
    【安全测试】sql注入
    【Python学习一】使用Python+selenium实现第一个自动化测试脚本
  • 原文地址:https://www.cnblogs.com/zfc2201/p/3682167.html
Copyright © 2011-2022 走看看