Dans de nombreux cas, les images téléchargées peuvent devoir être retournées du côté serveur en raison de problèmes d'angle de prise de vue. Voici comment retourner automatiquement les images téléchargées lors de l'utilisation de PHP. Cet article expliquera comment utiliser les bibliothèques PHP et GD pour traiter les images et les retourner automatiquement lors de leur téléchargement.
PHP est livré avec une bibliothèque GD, qui peut être utilisée pour le traitement d'image. Tout d'abord, assurez-vous que votre environnement PHP a une bibliothèque GD activée. Vous pouvez vérifier si la bibliothèque GD est activée en exécutant le code suivant:
<?php
if (extension_loaded('gd')) {
echo "GDLa bibliothèque est activée!";
} else {
echo "GDBibliothèque non activée!";
}
?>
Pour démontrer comment retourner lors du téléchargement d'images, nous rédigerons un formulaire de téléchargement d'image simple et la logique de traitement. Voici un formulaire de téléchargement et un code PHP de traitement correspondant:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Téléchargement d'image</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">Sélectionnez une image:</label>
<input type="file" name="file" id="file" required>
<button type="submit">Télécharger</button>
</form>
</body>
</html>
<?php
// 配置Télécharger的目标目录
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
// Vérifiez si le fichier est une image
if (isset($_POST["submit"])) {
$check = getimagesize($_FILES["file"]["tmp_name"]);
if ($check !== false) {
echo "Le fichier est une image - " . $check["mime"] . ".";
} else {
echo "Le fichier n'est pas une image。";
exit;
}
}
// 移动Télécharger的document到目标目录
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
echo "document " . htmlspecialchars(basename($_FILES["file"]["name"])) . " 已成功Télécharger。";
} else {
echo "Être désolé,Téléchargerdocument时出错。";
}
// Traitement de flip d'image
function flipImage($filePath) {
// Obtenez la taille et le type d'image
$image_info = getimagesize($filePath);
$image_type = $image_info[2];
// Créer des ressources d'image basées sur le type d'image
switch ($image_type) {
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg($filePath);
break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng($filePath);
break;
case IMAGETYPE_GIF:
$image = imagecreatefromgif($filePath);
break;
default:
echo "不支持的document类型!";
return;
}
// Flipe l'image
$flipped_image = imagerotate($image, 180, 0); // 180rotation de degré,Flip d'image
// Enregistrer l'image inversée
switch ($image_type) {
case IMAGETYPE_JPEG:
imagejpeg($flipped_image, $filePath);
break;
case IMAGETYPE_PNG:
imagepng($flipped_image, $filePath);
break;
case IMAGETYPE_GIF:
imagegif($flipped_image, $filePath);
break;
}
// Libérez des ressources d'image
imagedestroy($image);
imagedestroy($flipped_image);
echo "L'image a été retournée avec succès!";
}
// Appeler la fonction Flip
flipImage($target_file);
?>
Télécharger le formulaire : l'utilisateur soumet le formulaire via le navigateur et télécharge le fichier image.
Traitement d'image : Lorsqu'un utilisateur télécharge une image, nous vérifions le type de fichier via la fonction getImageSize () et confirmons qu'il s'agit d'un fichier image. Ensuite, nous utilisons move_uploaded_file () pour enregistrer le fichier dans le répertoire spécifié.
La fonction FlipImage () est responsable du retournement de l' image téléchargée. En utilisant la fonction ImageroTate () , nous tournons l'image à 180 degrés pour atteindre l'effet de retournement. L'image inversée écrasera le fichier d'origine.
Grâce aux étapes ci-dessus, nous avons réussi à implémenter une fonction de téléchargement et de renverser automatiquement des images. Que l'utilisateur télécharge des images au format JPEG, PNG ou GIF, le système peut s'identifier et retourner correctement.
Grâce à cette méthode, nous pouvons nous assurer que les images téléchargées se conforment toujours à la bonne direction et améliorer l'expérience utilisateur.