Home  >  Article  >  Backend Development  >  How to upload pictures in php

How to upload pictures in php

PHPz
PHPzOriginal
2023-04-10 09:36:043407browse

PHP is a server-side scripting language widely used in web development and can implement many web functions. Among them, uploading pictures is a common task in web development. This article will introduce the method of uploading pictures in PHP.

1. Basic concepts

Before introducing the method of uploading pictures, we need to understand some basic concepts:

  1. $_FILES

$_FILES is a super-global array that contains information about all uploaded files, and you can use it to operate uploaded files.

  1. The

in the form is the form used to upload files in HTML The control is also the entrance to upload pictures.

  1. MIME type

MIME type is a way to identify the type of uploaded file, and it is also one of the methods to determine whether the uploaded file is an image.

2. How to upload pictures

You can use the move_uploaded_file() function in PHP to upload files. The syntax is:

bool move_uploaded_file ( string $filename , string $destination )

Among them, $filename represents the uploaded file name, and $destination represents the stored target file name. The return value of this function is a Boolean value, indicating whether the operation was successful or not.

The following is a simple code example for uploading images:

<?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 "非法的文件格式或者文件大小超过限制,请检查后重试。";
}
?>

In this code, the file types and sizes allowed to be uploaded are first defined, and the suffix of the uploaded file is obtained by using the explode() function. name, and use the end() function to get the last element of the array (i.e. the file suffix name). Since the MIME type is not trusted, this method needs to be used for judgment.

Then, determine whether the upload is successful by determining whether the value of $_FILES"file" is 0. If successful, the uploaded image will be moved to the specified folder and the file information and path will be displayed.

3. Summary

This article introduces the method of uploading images in PHP, including related basic concepts and code implementation for uploading images. By using the move_uploaded_file() function and related conditional statements, the function of uploading images can be realized. At the same time, in order to ensure security, developers need to pay attention to limiting the type and size of uploaded files to avoid accidents.

The above is the detailed content of How to upload pictures in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn