• PHP文件上传及注意事项


      1.form表单通过action指向php页面进行提交

      下面是form.html页面

    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <form action="upload_file.php" method="post" enctype="multipart/form-data" id="form-data">
            <label for="file">请选择要上传的文件</label>
            <input type="file" name="file" id="file">
            <input type="submit" name="sub" value="上传">
        </form>
    </body>
    </html>

      form的enctype属性是用来规定发送到服务器之前应该如何对表单进行编码,默认值为application/x-www-form-urlencoded,会对所有数据字符进行编码,但是如果要表单包含上传大文件,则必须改为multipart/form-data,即不对数据字符编码。

      2.点击上传提交到php页面处理文件

      下面是upload_file.php页面

    <?php
    header("content_type: text/html;charset=utf-8");//规定编码格式为utf-8
    $allowedExts = array("txt");    //包含允许上传的文件的后缀名的数组
    $temp = explode(".", $_FILES["file"]["name"]);    
    $extension = end($temp);    //获取文件的后缀名
    if($_FILES["file"]["type"] == "text/plain" && in_array($extension,$allowedExts)){    //判断文件的格式以及后缀名是否符合上传要求
        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"]."<br>";
            echo "文件临时存储位置:".$_FILES["file"]["tmp_name"]."<br>";
            if(file_exists("/home/acer/下载/upload/".$_FILES["file"]["name"])){    //判断文件是否存在
                echo $_FILES["file"]["name"]."文件已存在。";
            }else{
                move_uploaded_file($_FILES["file"]["tmp_name"], "/home/acer/下载/upload/".$_FILES["file"]["name"]);        //存储文件
                echo "文件存储在:"."/home/acer/下载/upload/".$_FILES["file"]["name"]."<br>";
            }
        }
    
    }else{
        echo "非法大文件格式"."<br>";
    }

      其中“/home/acer/下载/upload/”是存储文件夹的跟路径,

      “text/plain”是文件类型,详见https://www.cnblogs.com/wang1204/p/5644827.html

     效果如下

       

      

  • 相关阅读:
    IEqualityComparer<T> 重写注意事项
    InfoPath使用Sharepoint Webservice之多参数
    强制使用office web Apps新建文档
    SQL 分组取每组第N行数据
    Sharepoint Ribbon 开启右键菜单(此文作废)
    sharepoint 2010 Infopath 备忘
    sharepoint windows认证模式下 限制人员选取器能访问OU
    Unable to load configuration异常处理
    Java数据库连接池的配置
    No Suitable Driver Found 解决方法
  • 原文地址:https://www.cnblogs.com/zxbs12345/p/9072476.html
Copyright © 2020-2023  润新知