Formulaire : image par défaut si il n'y a pas d'envoi d'image

Eléphanteau du PHP | 11 Messages

13 sept. 2024, 12:05

Bonjour,

Dans un formulaire, je demande d'envoyer une image.
Au début, je mettais une alerte avec la phrase "pas d'image envoyée" mais les utilisateurs aimeraient avoir une image par défaut s'ils n'ont pas de bonne photo.

Voici mon code :

Code : Tout sélectionner

if(isset($_POST["sub"])) { // (lignes précédentes retirées) $image_file = $_FILES["image"]; echo 'Vérification de l\'envoi d\'image : ' . $image_file["name"] . ' <br> '; // affiche le nom d'image envoyé $imageavirer = $image_file["name"]; // met le nom de l'image en variable pour suppression ultérieure // Pas d'image, on affiche l'erreur if (!isset($image_file)) { echo '<h3>Pas d´image envoyée</h3>'; die('No file uploaded.'); } if ($image_file["name"]) { echo 'OK Image envoyée !'; } else { $citation_1 = '1 <img src = "https://mondomaine.tld/images/oups.png">'; $citation_2 = '2 <img src = "https://mondomaine.tld/images/oups2.png">'; echo 'Pas d`image<br>'; echo ${'citation_' . rand(1, 2)}; // on affichera une image aléatoire pour signaler l'erreur } // Déplacement de l'image envoyée move_uploaded_file( // emplacement temporaire $image_file["tmp_name"], // Nouvel emplacement, __DIR__ est le dossier actuel __DIR__ . "/images/" . $image_file["name"] ); $filename = 'images/'.$image_file["name"]; if(exif_imagetype($filename) == IMAGETYPE_GIF) { // Conversion gif en PNG $new_png_img = 'user_image.png'; $png_img = imagepng(imagecreatefromgif($filename), $new_png_img); } elseif(exif_imagetype($filename) == IMAGETYPE_JPEG) { // Conversion JPG/JPEG en PNG $new_png_img = 'user_image.png'; $png_img = imagepng(imagecreatefromjpeg($filename), $new_png_img); } else { // PNG, ne rien faire $new_png_img = 'user_image.png'; } $im = imagecreatefrompng('user_image.png'); } // fin isset
Je n'arrive pas à mettre une condition : s'il n'y a pas d'image envoyée, on prend l'image fond_result_no_photo.png à la place.
A chaque fois, j'ai une erreur à la ligne 38 (exif_imagetype...)

comment faire ? Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

13 sept. 2024, 19:40

Quel est le message d'erreur ?
Quand tout le reste a échoué, lisez le mode d'emploi...