• php上传功能集后缀名判断和随机命名


    form.php

    <html>
    <head>
        <meta http-equiv="content-type" content="text/html" charset="utf-8">
        <title>Upload Image</title>
    </head>
    <body>
    <form method="post" action="upload.php" enctype="multipart/form-data">
        <input type="hidden" name="MAX_FILE_SEZE" value="2000000">
        <input type="file" name="file" value="view">
        <input type="submit" value="upload" name="B1">
    </form>
    </body>
    </html>

    upload.php

    <?php
    include("check.php"); // 引入自定义函数文件
    $type = array("jpg", "gif", "bmp", "jpeg", "png");
    // 判断上传文件类型
    $fileext = strtolower(fileext($_FILES['file']['name']));
    $uploadfilename = random(8);
    if(in_array($fileext, $type)){
        $filename = explode(".", $_FILES['file']['name']);
    
            if(is_uploaded_file($_FILES['file']['tmp_name'])){
    //        echo $_FILES['file']['tmp_name'];
            $flag = move_uploaded_file($_FILES['file']['tmp_name'], "/Library/WebServer/Documents/test/".$uploadfilename.".".$fileext);
            if($flag){
                echo "上传成功!";
            }else{
                echo "Error.";
            }
            echo "<a href='javascript:history.go(-1)'>Back</a>";
        }
    }

    check.php

    <?php
    header("Content-type:text/html;charset=utf8");
    // 获取文件后缀名函数
    function fileext($filename){
        $sTemp = strrchr($filename, ".");
        return substr($sTemp, 1);
    }
    function fileext2($filename){
        $sTemp = explode(".", $filename);
        return $sTemp[count($sTemp)-1];
    
    }
    // 生成随机文件名函数
    function random($length){
        $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz这是一个随机打印输出字符串的例子";
    
        $captchaResult = "2015"; // 随机数返回值
        $captchaSentry = ""; // 随机数中间变量
        for($i=0;$i<$length;$i++){
            $n = rand(0, 35); #strlen($captchaSource));
            if($n >= 36){
                $n = 36 + ceil(($n-36)/3) * 3;
                $captchaResult .= substr($captchaSource, $n, 3);
            }else{
                $captchaResult .= substr($captchaSource, $n, 1);
            }
        }
        return $captchaResult;
    }
    ?>

    将三个文件整合成一个:

    <?php
    // 获取文件后缀名函数
    function fileext($filename){
        $sTemp = strrchr($filename, ".");
        return substr($sTemp, 1);
    }
    function fileext2($filename){
        $sTemp = explode(".", $filename);
        return $sTemp[count($sTemp)-1];
    
    }
    // 生成随机文件名函数
    function random($length){
        $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz这是一个随机打印输出字符串的例子";
    
        $captchaResult = "2015"; // 随机数返回值
        $captchaSentry = ""; // 随机数中间变量
        for($i=0;$i<$length;$i++){
            $n = rand(0, 35); #strlen($captchaSource));
            if($n >= 36){
                $n = 36 + ceil(($n-36)/3) * 3;
                $captchaResult .= substr($captchaSource, $n, 3);
            }else{
                $captchaResult .= substr($captchaSource, $n, 1);
            }
        }
        return $captchaResult;
    }
    
    $type = array("jpg", "gif", "bmp", "jpeg", "png");
    // 判断上传文件类型
    $fileext = strtolower(fileext($_FILES['file']['name']));
    $uploadfilename = random(8);
    if(in_array($fileext, $type)){
        $filename = explode(".", $_FILES['file']['name']);
    
        if(is_uploaded_file($_FILES['file']['tmp_name'])){
    //        echo $_FILES['file']['tmp_name'];
            $flag = move_uploaded_file($_FILES['file']['tmp_name'], "/Library/WebServer/Documents/test/".$uploadfilename.".".$fileext);
            if($flag){
                echo "上传成功!";
            }else{
                echo "Error.";
            }
            echo "<a href='javascript:history.go(-1)'>Back</a>";
        }
    }
    
    ?>
    
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html" charset="utf-8">
        <title>Upload Image</title>
    </head>
    <body>
    <form method="post" action="" enctype="multipart/form-data">
        <input type="hidden" name="MAX_FILE_SEZE" value="2000000">
        <input type="file" name="file" value="view">
        <input type="submit" value="upload" name="B1">
    </form>
    </body>
    </html>
  • 相关阅读:
    CF44G Shooting Gallery KDtree
    UVA12297 Super Poker 矩阵快速幂
    一些刷题的OJ
    关于博客园里的代码那些事
    Linux高并发网络编程开发——epoll-udp
    Linux高并发网络编程开发——tcp状态转换-select-poll
    Linux高并发网络编程开发——tcp三次握手-并发
    Linux高并发网络编程开发——网络编程基础-socket
    Linux系统编程——线程同步
    Linux系统编程——守护进程+线程
  • 原文地址:https://www.cnblogs.com/myall/p/4795748.html
Copyright © 2020-2023  润新知