php怎么实现上传图片

2023-05-14 20:05:29 php 上传图片

PHP是一种广泛用于web开发服务器端脚本语言,可以实现很多WEB功能。其中,上传图片是Web开发中常见的一项任务,本文将介绍php中的上传图片方法。

一、基本概念

在介绍上传图片方法之前,我们需要了解一些基本概念:

  1. $_FILES

$_FILES是一个超全局数组,包含了所有上传文件的信息,可以通过它来操作上传的文件。

  1. 表单中的<input type="file">

<input type="file">是html中用于上传文件的表单控件,也是上传图片的入口。

  1. MIME类型

MIME类型是一种标识上传文件类型的方式,也是判断上传文件是否为图片的方法之一。

二、上传图片方法

PHP中可以用move_uploaded_file()函数来上传文件,其语法为:

bool move_uploaded_file ( string $filename , string $destination )

其中,$filename表示上传的文件名,$destination表示存储的目标文件名。此函数的返回值为布尔值,表示操作成功与否。

下面是一段简单的上传图片代码示例:

<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);     // 获取文件后缀名
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"] < 204800)   // 小于 200 kb
&& 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"] / 1024) . " kB<br>";
        echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"] . "<br>";

        // 判断存储文件夹是否存在,不存在则创建文件夹
        if (!file_exists("upload"))
        {
            mkdir("upload");
        }
        // move_uploaded_file() 函数将上传的文件移动到指定目录
        move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
        echo "文件存储在: " . "upload/" . $_FILES["file"]["name"];
    }
}
else
{
    echo "非法的文件格式或者文件大小超过限制,请检查后重试。";
}
?>

这段代码中,首先定义了允许上传的文件类型和大小,通过使用explode()函数获得上传文件的后缀名,并使用end()函数获取数组的最后一个元素(即文件后缀名)。由于MIME类型不可信,所以需要使用此方法进行判断。

然后,通过判断$_FILES"file"的值是否为0,判断上传是否成功。若成功,则将上传的图片移动到指定的文件夹中,并展示文件的信息及路径。

三、总结

本文介绍了PHP上传图片的方法,包括相关的基本概念和上传图片的代码实现。通过使用move_uploaded_file()函数和相关的条件语句,可以实现上传图片的功能。同时,为了保障安全,开发者需要注意对上传文件的类型和大小进行限制,避免出现意外。

以上就是php怎么实现上传图片的详细内容,更多请关注其它相关文章!

相关文章