PHP implémente des fonctions de téléchargement et de recadrage d'images

WBOY
Libérer: 2023-06-23 10:52:01
original
1715 Les gens l'ont consulté

PHP, en tant que langage de programmation back-end couramment utilisé, est largement utilisé dans le domaine du développement de sites Web. Parmi eux, le téléchargement et le recadrage d’images sont l’une des fonctions couramment utilisées dans le développement de sites Web. Ce qui suit explique comment utiliser PHP pour implémenter les fonctions de téléchargement et de recadrage d'images.

1. Fonction de téléchargement d'images

Présentez d'abord l'implémentation de la fonction de téléchargement d'images. Le code suivant implémente une fonction simple de téléchargement d'image :

<html>
    <head>
        <meta charset="UTF-8">
        <title>图片上传</title>
    </head>
    <body>
        <form action="upload.php" method="post" enctype="multipart/form-data">
            <input type="file" name="file">
            <input type="submit" value="上传">
        </form>
    </body>
</html>
Copier après la connexion

Il y a un formulaire sur cette page, et l'attribut action du formulaire pointe vers un script de traitement nommé upload.php. L'attribut enctype du formulaire doit être défini sur "multipart/form-data" avant que les fichiers binaires puissent être téléchargés. Un formulaire simple est fourni ici et peut être modifié selon les besoins.

Ce qui suit est le script de traitement pour upload.php :

<?php
// 指定文件上传的目录
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);

// 获取文件类型
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// 检查文件是否是图片
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["file"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}

// 如果文件已经存在,提示并退出
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}

// 检查文件大小
if ($_FILES["file"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// 允许上传的图片类型
if($imageFileType != "jpg" && $imageFileType != "jpeg" && $imageFileType != "png" && $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

// 如果没有错误,进行文件上传
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
} else {
    if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["file"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>
Copier après la connexion

Ce script obtient d'abord le chemin cible et le type de fichier téléchargé du traitement du fichier, puis vérifie le type et la taille du fichier. Si le type et la taille du fichier répondent aux normes, le fichier sera téléchargé, sinon un message d'erreur s'affichera.

2. Fonction de recadrage d'image

La fonction de recadrage d'image fait référence au recadrage de l'image après son téléchargement, afin que la taille, les proportions, etc. de l'image répondent aux exigences. Ce qui suit décrit comment utiliser PHP pour implémenter la fonction de recadrage d'image. Dans cet article, nous utilisons la bibliothèque PHP library-GD pour traiter les images.

  1. Installer la bibliothèque GD

Avant d'utiliser la bibliothèque GD, vous devez vous assurer que la bibliothèque a été installée, sinon elle doit être installée. Dans le système Linux, vous pouvez installer la bibliothèque GD via la commande suivante :

sudo apt-get install php7.2-gd
Copier après la connexion

Dans le système Windows, recherchez l'instruction suivante dans le fichier de configuration php php.ini :

;extension=php_gd2.dll
Copier après la connexion

Changez-la par :

extension=php_gd2.dll
Copier après la connexion

Enregistrez et redémarrez php.Peut.

  1. Recadrer les images

Avant d'utiliser la bibliothèque GD, vous devez charger l'image dans le programme. Vous pouvez utiliser des fonctions telles que Imagecreatefromjpeg(), Imagecreatefrompng(), Imagecreatefromgif() pour charger des images dans différents formats. Ce qui suit est un programme de recadrage simple :

//载入原图
$src = imagecreatefromjpeg('test.jpg');

//裁剪原图
$dst = imagecreatetruecolor(100, 100);
imagecopyresampled($dst, $src, 0, 0, 50, 50, 100, 100, 100, 100);

//保存裁剪后的图片
imagejpeg($dst, 'test_crop.jpg');

//释放原图和裁剪后的图片
imagedestroy($src);
imagedestroy($dst);
Copier après la connexion

Ce programme utilise la fonction de traitement d'image imagecreatetruecolor() pour générer une image vierge, puis utilise la fonction imagecopyresampled() pour recadrer et copier l'image originale sur l'image vierge. Enfin, utilisez la fonction imagejpeg() pour enregistrer l'image recadrée.

3. Résumé

En PHP, vous pouvez facilement télécharger et recadrer des images à l'aide du formulaire de téléchargement et de la bibliothèque GD. Cette fonction est très couramment utilisée dans le développement de sites Web. La maîtrise des compétences de base en matière de téléchargement et de recadrage d'images sera d'une aide inestimable pour les étudiants qui débutent dans le développement de sites Web.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!