zoukankan      html  css  js  c++  java
  • PHP文件上传

    文件上传

    通过<form>表单实现,将文件上传到一个临时目录,上传的过程不需要我们管,只需将文件移动到我们期望的目录即可。

    1. 修改PHP配置文件

    file_uploads               服务器上的PHP脚本是否可以接受HTTP文件上传

    memory_limit            设置脚本可以分配的最大内存量,防止失控脚本独占服务器内存

    upload_max_filesize      限制PHP处理上传文件的最大值,此值必须小于post_max_size值

     post_max_size             限制通过POST方法可以接受的信息最大量

    upload_tmp_dir              上传文件存放的临时路径,可以是绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。

    注意:修改完配置文件后重新启动服务器。

    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类型由‘/’分隔主类型和子类型组成

    3. PHP文件上传处理函数

    is_uploaded_file()      判断指定的文件是否通过HTTP POST上传的

    move_uploaded_file()    文件上传后先存储于服务器的临时目录中,使用该函数移动文件位置

    实验:

     1 <?php
     2     header('Content-type:text/html;charset=utf-8');
     3     //判断客户端是否有提交动作
     4     if(isset($_POST['submit'])){
     5         //判断文件是否通过HTTP POST上传的
     6         if(is_uploaded_file($_FILES['myfile']['tmp_name'])){
     7             //用于服务器端显示客户端上传文件的后缀名.返回值是一个数组
     8             $arr=pathinfo($_FILES['myfile']['name']);
     9             //以年 月 日的格式命名客户端上传的文件名并随机产生一个数,避免名字相同
    10             $newName=date('YmdGis').rand(1000,99999);
    11             if(move_uploaded_file($_FILES['myfile']['tmp_name'],"C:/123/{$newName}.{$arr['extension']}")){
    12                 echo '成功';
    13             }else{
    14                 echo '失败';
    15             }
    16         }else{
    17             exit('....');
    18         }
    19     }
    20     var_dump($_FILES);
    21 ?>
    22 <DOCTYPE html>
    23 <html lang="en">
    24 <head>
    25 <meta charset="utf-8">
    26 <title>文件上传</title>
    27 </head>
    28 <body>
    29     <form method="post" action="" enctype="multipart/form-data">
    30     <input type="file" name="myfile"/>
    31     <input type="submit" name="submit" value="开始上传"/>
    32     </form>
    33 </body>
    34 </html>

        

      

  • 相关阅读:
    Knowledge point
    Nagios详解(基础、安装、配置文件解析及监控实例)
    配置网络yum源
    springsecurity整合springboot实现简单认证授权
    使用openssl生成rsa密钥对
    springsecurity实现记住我功能
    springsecurity生成图形验证码并校验
    springsecurity开发基于表单的认证--个性化用户认证流程
    springSecurity自定义用户认证逻辑
    关于JWT分析的文章转载
  • 原文地址:https://www.cnblogs.com/lian9/p/12264540.html
Copyright © 2011-2022 走看看