Maison  >  Article  >  développement back-end  >  Comment télécharger des images en php

Comment télécharger des images en php

PHPz
PHPzoriginal
2023-04-10 09:36:043405parcourir

PHP est un langage de script côté serveur largement utilisé dans le développement Web et peut implémenter de nombreuses fonctions Web. Parmi eux, le téléchargement d'images est une tâche courante dans le développement Web. Cet article présentera la méthode de téléchargement d'images en PHP.

1. Concepts de base

Avant d'introduire la méthode de téléchargement d'images, nous devons comprendre quelques concepts de base :

  1. $_FILES

$_FILES est un tableau super-global qui contient des informations sur tous les fichiers téléchargés, qui peuvent être utilisé pour manipuler les fichiers téléchargés.

  1. Le

dans le formulaire est un contrôle de formulaire en HTML utilisé pour télécharger des fichiers, et constitue également l'entrée pour télécharger des images.

  1. Type MIME

Le type MIME est un moyen d'identifier le type de fichiers téléchargés, et c'est également l'une des méthodes permettant de déterminer si le fichier téléchargé est une image.

2. Comment télécharger des images

Vous pouvez utiliser la fonction move_uploaded_file() en PHP pour télécharger des fichiers :

bool move_uploaded_file ( string $filename , string $destination )

Parmi eux, $filename représente le. le nom du fichier téléchargé. $destination représente le nom du fichier de destination stocké. La valeur de retour de cette fonction est une valeur booléenne, indiquant si l'opération a réussi ou non.

Ce qui suit est un exemple de code simple pour télécharger des 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 "非法的文件格式或者文件大小超过限制,请检查后重试。";
}
?>

Dans ce code, les types et tailles de fichiers autorisés à être téléchargés sont d'abord définis, le nom suffixe du fichier téléchargé est obtenu en utilisant la fonction éclater(), et la fonction end() est utilisée pour obtenir le dernier élément du tableau (c'est-à-dire l'extension de fichier). Étant donné que le type MIME n'est pas fiable, cette méthode doit être utilisée à des fins de jugement.

Ensuite, jugez si le téléchargement a réussi en jugeant si la valeur du "fichier" $_FILES est 0. En cas de succès, l'image téléchargée sera déplacée vers le dossier spécifié et les informations et le chemin du fichier seront affichés.

3. Résumé

Cet article présente la méthode de téléchargement d'images en PHP, y compris les concepts de base associés et l'implémentation du code pour le téléchargement d'images. En utilisant la fonction move_uploaded_file() et les instructions conditionnelles associées, la fonction de téléchargement d'images peut être réalisée. Dans le même temps, afin de garantir la sécurité, les développeurs doivent veiller à limiter le type et la taille des fichiers téléchargés afin d'éviter les accidents.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn