• PHP $_FILES函数使用


    转载自 https://www.cnblogs.com/kenshinobiy/p/7783151.html

    $_FILES参数详解:
    $_FILES["file"]["name"] – 被上传文件的名称
    $_FILES["file"]["type"] – 被上传文件的类型
    $_FILES["file"]["size"] – 被上传文件的大小,以字节计
    $_FILES["file"]["tmp_name"] – 存储在服务器的文件的临时副本的名称
    $_FILES["file"]["error"] – 由文件上传导致的错误代码

    $_FILES["file"]["error"]中的["error"]值情况:
    UPLOAD_ERR_OK
    0:没有错误发生,文件上传成功
    UPLOAD_ERR_INI_SIZE
    1:上传的文件超过了 php.ini中upload_max_filesize(默认情况为2M) 选项限制的值
    UPLOAD_ERR_FORM_SIZE
    2:上传文件的大小超过了 HTML表单中MAX_FILE_SIZE选项指定的值
    UPLOAD_ERR_PARTIAL
    3:文件只有部分被上传
    UPLOAD_ERR_NO_FILE
    4:没有文件被上传
    5:传文件大小为0
    下面我们就来看看最基本的文件上传:

    <html>
    <body>
    <form action=”upload-file.php” method=”post”
    enctype=”multipart/form-data”>
    <label for=”file”>文件名:</label>
    <input type=”file” name=”file” id=”file” />
    <br />
    <input type=”submit” name=”submit” value=”提交” />
    </form>
    </body>
    </html>

    这个HTML页面如下图:

    upload-file.php代码如下:

    <?php
    if ($_FILES["file"]["error"] > 0)
      {
      echo “错误: ” . $_FILES["file"]["error"] . “<br />”;
      }
    else
      {
      echo “文件名: ” . $_FILES["file"]["name"] . “<br />”;
      echo “类型: ” . $_FILES["file"]["type"] . “<br />”;
      echo “大小: ” . ($_FILES["file"]["size"] / 1024) . ” Kb<br />”;
      echo “存储位置: ” . $_FILES["file"]["tmp_name"];
      }
    ?>

    我们随便上传一个word文件,看看处理结果如何:

    文件名: css.doc
    类型: application/msword
    大小: 81.5 Kb
    存储位置: C:WINDOWS empphp7D.tmp

    可以看到,这个文件被保存到C:WINDOWS emp临时目录下,你可能想去看看在这个目录是否存在这个文件,但结果是:没有!为什么呢? 因为php在执行完这个脚本后,把它生成的文件又删除了,所以在上传之后还要进一步处理。另外还随便提一下,在windows下,php所生成的临时文件 如php7D.tmp是有规律的,也就是说在下一次通过表单上传的文件应该像这样:php7E.tmp
    为了保存我们上传的文件,要使用move_uploaded_file函数。在你的upload-file.php文件同目录创建一个upload文件夹。下面再来看看上面那个示例:

    <?php
    if ($_FILES["file"]["error"] > 0)
      {
      echo “错误: ” . $_FILES["file"]["error"] . “<br />”;
      }
    else
      {
      echo “文件名: ” . $_FILES["file"]["name"] . “<br />”;
      echo “类型: ” . $_FILES["file"]["type"] . “<br />”;
      echo “大小: ” . ($_FILES["file"]["size"] / 1024) . ” Kb<br />”; 
      }
     if (file_exists(”upload/” . $_FILES["file"]["name"]))
        {
          echo $_FILES["file"]["name"] . ” 文件已经存在. “;
        }
    else
        {
          move_uploaded_file($_FILES["file"]["tmp_name"],
          “upload/” . $_FILES["file"]["name"]);
          echo “文件已经被存储到: ” . “upload/” . $_FILES["file"]["name"];
        }

    ?>

    再来看看结果:

    文件名: css.doc
    类型: application/msword
    大小: 81.5 Kb
    文件已经被存储到: upload/css.doc

    经过这一步的处理,在我们所指定的地方(upload)就可以得到我们上传的文件。到这里,最基本的文件上传就结束了。

  • 相关阅读:
    Android Studio 解决unspecified on project app resolves to an APK archive which is not supported
    IOS 一句代码搞定启动引导页
    iOS—最全的真机测试教程
    Hue的三大特点、三大功能和架构
    CentOS和Ubuntu系统下安装vsftp(助推大数据部署搭建)
    Starting vsftpd for vsftpd: [FAILED]问题的解决
    大数据搭建各个子项目时配置文件技巧(适合CentOS和Ubuntu系统)(博主推荐)
    CentOS6.5下Cloudera安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)
    Hue的全局配置文件hue.ini(图文详解)
    Cloudera Hue是什么?
  • 原文地址:https://www.cnblogs.com/summerGraden/p/12028765.html
Copyright © 2020-2023  润新知