PHP笔记-文件上传例子

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP笔记-文件上传例子相关的知识,希望对你有一定的参考价值。

程序运行截图如下:

选择文件然后点击提交后:

目录下也有了:

源码如下:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
</head>
<body>
    <form action="uploadFile.php" method="post" enctype="multipart/form-data">
        <label for="file">文件名: </label>
        <input type="file" name="file" id="file"><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

uploadFile.php

 

<?php
    $allowed = array("gif", "png", "jpg");
    $temp = explode(".", $_FILES["file"]["name"]);
    $extension = end($temp);
    echo $_FILES["file"]["size"];

    if ((($_FILES["file"]["type"] == "image/gif")
            || ($_FILES["file"]["type"] == "image/jpeg")
            || ($_FILES["file"]["type"] == "image/jpg")
            || ($_FILES["file"]["type"] == "image/pjpeg")
            || ($_FILES["file"]["type"] == "image/x-png")
            || ($_FILES["file"]["type"] == "image/png"))
        && ($_FILES["file"]["size"] < 2048000)
        && in_array($extension, $allowed))

        if($_FILES["file"]["error"] > 0)

            echo "错误 : " . $_FILES["file"]["error"] . "<br>";
            header("Refresh:3;url=index.html");
        

        echo "上传的文件名: " . $_FILES["file"]["name"] . "<br>";
        echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
        echo "文件大小: " . $_FILES["file"]["size"] . "<br>";
        echo "文件临时存放位置:" . $_FILES["file"]["tmp_name"] . "<br>";

        if(file_exists("upload" . $_FILES["file"]["name"]))

            echo $_FILES["file"]["name"] . "文件已经存在。";
        
        else

            move_uploaded_file($_FILES["file"]["tmp_name"], __DIR__ . "\\\\upload\\\\" . $_FILES["file"]["name"]);
            echo "文件存储在: " . __FILE__ . "\\\\upload\\\\" . $_FILES["file"]["name"];
        
    
    else

        header("Refresh:3;url=index.html");
    
?>

 需要注意的地方:

①$_FILES

 从中可以知道,他是一个全局的变量,与快要被废弃的$HTTP_POST_FILES功能一样。在使用post方法上传文件时常用。

②move_uploaded_file

 从中可以知道,这个函数的功能是把上传的文件拷贝到本地,第一个参数是上传的文件,第二个参数是要移动到拿。返回值是个bool类型,如果第一个参数是无效的文件名,函数将返回false,并且不会生效,还会打印warning。

③__DIR__

 从中可知,这个宏是获取当前文件的目录这个宏等同于dirname(__FILE__)

以上是关于PHP笔记-文件上传例子的主要内容,如果未能解决你的问题,请参考以下文章

PHP-会员登录与注册例子解析-学习笔记

php网页批量上传图片是怎么实现的,有没有例子,或插件

文件上传-笔记

文件上传漏洞练习笔记

php中的多个文件上传

PHP上传图片例子