Maison > Article > développement back-end > PHP implémente des fonctions de téléchargement et de recadrage d'images
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>
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."; } } ?>
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.
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
Dans le système Windows, recherchez l'instruction suivante dans le fichier de configuration php php.ini :
;extension=php_gd2.dll
Changez-la par :
extension=php_gd2.dll
Enregistrez et redémarrez php.Peut.
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);
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!