• php 上传文件


    表单必须用 enctype="multipart/form-data"

    代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>upload</title>
    </head>
    <body>
    <form action="./upload_process.php" method="post" enctype="multipart/form-data">
        <div>
            <input type="file" name="user_file" />
        </div>
        <div>
            <input type="submit" />
        </div>
    </form>
    </body>
    </html>

    保存文件时,检查文件类型,本来想使用$_FILES["user_file"]["type"],结果发现在各个浏览器下不一致。

    只能使用文件名检查。
    $_FILES["user_file"]["type"]
    firefox下:application/zip 或 application/octet-stream
    ie下:application/x-zip-compressed
    chrome下:空

    <?php
    var_dump($_FILES["user_file"]);

    $tmp = explode('.',$_FILES["user_file"]["name"]);
    $last = count($tmp) -1;
    if($tmp[$last]!='zip')
    {
        echo 'only allow zip';
        exit;
    }
    $new_name_and_path = './files/'.md5($_FILES["sns_file"]["tmp_name"]).'.zip';
    move_uploaded_file($_FILES["user_file"]["tmp_name"],$new_name_and_path);
    ?>
  • 相关阅读:
    luarocks argparse
    Shell中for循环的几个常用写法
    linux
    Docker修改镜像源为阿里云
    ntpdate更新服务器时间失败
    linux文本三剑客之 sed
    [Union]C++中Union学习笔记
    [sublime] 利用sublime搭建C/C++编译器
    [wordpress]WordPress地址(URL)错误,修改解决方案
    [wordpress]更新插件时,免去FTP操作
  • 原文地址:https://www.cnblogs.com/sink_cup/p/php_upload_file.html
Copyright © 2020-2023  润新知