Maison  >  Article  >  développement back-end  >  Traiter et télécharger des fichiers image à l'aide de PHP

Traiter et télécharger des fichiers image à l'aide de PHP

WBOY
WBOYoriginal
2023-06-19 16:45:071042parcourir

Avec le développement continu d'Internet, l'utilisation de fichiers image dans les sites Web devient de plus en plus courante. Lors du développement d'un site Web, vous devez souvent permettre aux utilisateurs de télécharger des fichiers image, puis de les traiter. Cela nécessite que les développeurs sachent comment utiliser PHP pour traiter et télécharger des fichiers image.

1. Télécharger des fichiers image

En PHP, nous pouvons utiliser $_FILES pour obtenir les fichiers téléchargés. Le traitement des fichiers image téléchargés nécessite les étapes suivantes : #🎜🎜 ##. 🎜🎜#

Déterminez le répertoire du fichier téléchargé
  1. Tout d'abord, nous devons déterminer le répertoire du fichier téléchargé. Nous pouvons obtenir le chemin temporaire du fichier téléchargé en définissant $_FILES "file".

Définir le type de fichier téléchargé
  1. Ensuite, nous devons définir le type de fichier téléchargé. Normalement, nous autorisons uniquement le téléchargement de fichiers image aux formats jpg et png, qui peuvent être définis à l'aide du code suivant :

$allowed = array('jpg', 'png');

if (!in_array(strtolower(pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION)), $allowed)){

echo "Seuls les fichiers image aux formats jpg et png peuvent être téléchargés" ;# 🎜🎜# exit();
}


Traitement des fichiers téléchargés

  1. Il existe deux situations principales lors du traitement des fichiers téléchargés : téléchargement Déplacez les fichiers vers le répertoire spécifié ; compressez et ajustez les fichiers téléchargés. Ces deux situations sont présentées ci-dessous.
La première situation : Déplacez le fichier téléchargé vers le répertoire spécifié. Voici un exemple de code :

$target_dir = "uploads/";

$target_file = $target_dir . basename($_FILES"file");

if (move_uploaded_file( $ _FILES["file"]["tmp_name"], $target_file)) {

echo "Fichier téléchargé avec succès";
} else {
echo "Échec du téléchargement du fichier";#🎜🎜 # }

Le deuxième cas : La compression et l'ajustement du fichier téléchargé peuvent être réalisés à l'aide de la bibliothèque GD en PHP. Voici un exemple de code :

$src_image = imagecreatefromjpeg($_FILES"file"); // Définir l'image d'origine

$dst_image = imagescale($src_image, 300); Set Définir la taille de l'image cible

imagepng($dst_image, 'new_image.png'); //Sortie de l'image cible

Le code ci-dessus convertira le fichier image jpg téléchargé au format png et ajustez-le au fichier image d’une largeur de 300 pixels.

2. Traiter les fichiers image

Une fois le fichier téléchargé avec succès, nous pouvons commencer à traiter le fichier image. Voici plusieurs façons de traiter les fichiers image.

Recadrer l'image

    Vous pouvez utiliser la fonction imagecrop() pour recadrer une image :
  1. #. 🎜🎜#$ src_image = imagecreatefrompng('image.png'); // Définir l'image originale
  2. $dst_image = imagecrop($src_image, ['x' => 100, 'y' => 100, 'width' = > 200, 'height' => 200]); // Définir l'image cible
imagepng($dst_image, 'cropped_image.png');

ou supérieur Le code recadrera le fichier image image.png en une image 200x200 et le produira sous forme de fichier cropped_image.png.


Ajouter un filigrane

Pour ajouter un filigrane, vous pouvez utiliser la fonction imagecopy() et la fonction imagettftext(). Voici un exemple de code :

    $src_image = imagecreatefrompng('image.png'); // Définir l'image originale
  1. $watermark = imagecreatefrompng('watermark.png'); // Définir le filigrane
  2. imagecopymerge ($ src_image, $watermark, 10, 10, 0, 0, imagesx($watermark), imagesy($watermark), 30); // Ajouter un filigrane à l'image originale
imagettftext($src_image, 30, 0) , 200 , 200, imagecolorallocate($src_image, 255, 255, 255), 'font.ttf', 'Mon filigrane'); // Ajouter un filigrane de texte

imagepng($src_image, 'watermarked_image.png'); // Génère une image filigranée

Le code ci-dessus ajoutera le fichier image watermark.png dans le coin supérieur gauche de l'image image.png et ajoutera un texte en filigrane de "Mon filigrane".


Changer la couleur de l'image

Vous pouvez utiliser la fonction imagefilter() pour changer la couleur de l'image : #🎜🎜 ##🎜🎜 #$src_image = imagecreatefrompng('image.png'); // Définir l'image originale

imagefilter($src_image, IMG_FILTER_GRAYSCALE); // Convertir l'image en niveaux de gris
    imagepng($src_image); , ' grayscale_image.png'); // Sortie d'une image en niveaux de gris
  1. Le code ci-dessus convertira l'image image.png en une image en niveaux de gris et la produira sous forme de fichier grayscale_image.png.

Résumé

Grâce à l'introduction ci-dessus, nous pouvons voir certains problèmes et solutions auxquels il faut prêter attention lors du traitement et du téléchargement de fichiers image en PHP. Si vous devez utiliser des fichiers image sur votre site Web, ces méthodes peuvent vous aider à mettre en œuvre rapidement la fonctionnalité. Bien entendu, l'introduction ci-dessus ne représente que les bases, et les opérations de traitement d'image plus complexes obligent les développeurs à s'ajuster en fonction de la situation réelle.

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