Insertion noms de fichiers images dans la base
Résolu/Fermé
ameb2908
Messages postés
89
Date d'inscription
jeudi 17 mars 2022
Statut
Membre
Dernière intervention
25 novembre 2024
-
17 mars 2022 à 14:54
ameb2908 Messages postés 89 Date d'inscription jeudi 17 mars 2022 Statut Membre Dernière intervention 25 novembre 2024 - 18 mars 2022 à 10:23
ameb2908 Messages postés 89 Date d'inscription jeudi 17 mars 2022 Statut Membre Dernière intervention 25 novembre 2024 - 18 mars 2022 à 10:23
A voir également:
- Insertion noms de fichiers images dans la base
- Comment réduire la taille d'un fichier - Guide
- Formules excel de base - Guide
- Insertion liste déroulante excel - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
6 réponses
ameb2908
Messages postés
89
Date d'inscription
jeudi 17 mars 2022
Statut
Membre
Dernière intervention
25 novembre 2024
18 mars 2022 à 10:23
18 mars 2022 à 10:23
ça y est ça marche enfin, merci bien & bon weekend.
<?php if(!empty($_FILES)) { $manager = new imageManager($db); $images = $manager->upload($_FILES); if($images === true) { $message = '<p class="msg_success">Le chargement a réussi</p>'; } else { $message = '<p class="msg_error">Le chargement a échoué</p>'; } } // Les valeurs sont-elles postées ? if(!isset($_POST['submit_form'])) { $message = '<p class="msg_error">Aucune donnée n\'est fournie. <a href="' . WEB_DIR_URL . 'admin/create-image.php">retour</a></p>'; } if(isset($_POST['submit_form'])) { $title_form = htmlspecialchars(trim($_POST['title_form'])); $descr_form = htmlspecialchars(trim($_POST['descr_form'])); // Cas où les valeurs sont postées. // Si une des valeurs est vide. if((empty($title_form)) OR (empty($descr_form))) { $message = '<p class="msg_error">Une des informations est manquante. <a href="' . WEB_DIR_URL . 'admin/create-image.php">retour</a></p>'; } else { $images_data = array( 'imgID' => 1, 'title' => $title_form, 'descr' => $descr_form, 'filename' => $manager->cleanText($_FILES['upload_form']['name'][0]) ); $image_data = new Image($images_data); $manager = new imageManager($db); if(!$manager->readImageData($images)) { $manager->createImageData($image_data); ?> <p><a href="update-image.php">Mise à jour des données</a></p> <?php print_r($_FILES); } else { $message = '<p class="msg_error">Une erreur est survenue lors de l\'enregistrement des données dans la base.<br> Aucune information n\'a été enregistrée.</p>'; } } }
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
17 mars 2022 à 16:04
17 mars 2022 à 16:04
Bonjour,
On peut supposer que le code pour faire l'insertion se trouve dans la fonction que tu appelles après le move...
Donc... dans :
Sauf que je ne vois cette fonction nul part dans ce que tu nous montres...
On peut supposer que le code pour faire l'insertion se trouve dans la fonction que tu appelles après le move...
Donc... dans :
createThumbnail
Sauf que je ne vois cette fonction nul part dans ce que tu nous montres...
ameb2908
Messages postés
89
Date d'inscription
jeudi 17 mars 2022
Statut
Membre
Dernière intervention
25 novembre 2024
17 mars 2022 à 16:10
17 mars 2022 à 16:10
/* METHODE QUI VA CREE LES IMAGES MINIATURES */ public function createThumbnail($filename) { // Définition des chemins des images et des vignettes. $image = IMAGE_DIR_PATH . $filename; $vignette = THUMB_DIR_PATH . $filename; // Récupération des dimensions de l'image source. $size = getimagesize($image); $largeur = $size[0]; $hauteur = $size[1]; // Définition des valeurs souhaitées pour les vignettes. // Ce sont des valeurs maximales. $largeur_max = 200; $hauteur_max = 200; // Création de l'image source avec imagecreatefromjpeg. $image_src = imagecreatefromjpeg($image); // On crée un ratio (une proportion). // et on verifie que l'image source ne soit pas // plus petite que l'image de destination. if($largeur > $largeur_max OR $hauteur > $hauteur_max) { // Si largeur plus grande que hauteur. if($hauteur <= $largeur) { $ratio = $largeur_max / $largeur; } else { $ratio = $hauteur_max / $hauteur; } } else { // l'image créee sera identique à l'originale. $ratio = 1; } // Création de l'image noire de destination avec imagecreatetruecolor. $image_destination = imagecreatetruecolor(round($largeur * $ratio), round($hauteur * $ratio)); // Fabrication de la vignette avec dimensions souhaitées. imagecopyresampled($image_destination, $image_src, 0, 0, 0, 0, round($largeur * $ratio), round($hauteur * $ratio), $largeur, $hauteur); // Envoi de la nouvelle image JPEG dans le fichier. if(!imagejpeg($image_destination, $vignette)) { $error_msg = 'la création de la vignette a echouée pour l\'image ' . $image; return $error_msg; exit; } else { return true; } } public function cleanText($filename) { $special = array(' ', '\'', 'á','à','â','ä','ã','å','ç','é','è','ê', 'ë','í','ì','î','ï','ñ','ó','ò','ô','ö','õ','ú','ù', 'û','ü','ý','ÿ','Á','À','Â','Ä','Ã','Å','Ç','É','È', 'Ê','Ë','Í','Ï','Î','Ì','Ñ','Ó','Ò','Ô','Ö','Õ','Ú', 'Ù','Û','Ü','Ý'); $normal = array('-', '', 'a','a','a','a','a','a','c','e','e','e','e', 'i','i','i','i','n','o','o','o','o','o','u','u','u', 'u','y','y','A','A','A','A','A','A','C','E','E','E', 'E','E','I','I','I','I','N','O','O','O','O','O','U', 'U','U','U','Y'); $result = str_replace($special, $normal, $filename); $results = strtolower($result); return $results; }
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
17 mars 2022 à 18:12
17 mars 2022 à 18:12
Alors non, ce n'est pas là non plus ...
N'as tu pas une fonction qui te permet de faire un INSERT ou un UPDATE en BDD ??
N'as tu pas une fonction qui te permet de faire un INSERT ou un UPDATE en BDD ??
ameb2908
Messages postés
89
Date d'inscription
jeudi 17 mars 2022
Statut
Membre
Dernière intervention
25 novembre 2024
17 mars 2022 à 18:19
17 mars 2022 à 18:19
/* METHODE QUI INSERT LES DONNEES DANS LA BASE DONT LE NOM DU FICHIER DE L'IMAGE */ public function createImageData(Image $image) { try { $sql = 'INSERT INTO images(title, descr, filename) VALUES(:title, :descr, :filename)'; $stmnt = $this->db->prepare($sql); $title = $image->getTitle(); $descr = $image->getDescr(); $filename = $image->getFilename(); $stmnt->bindParam(':title', $title); $stmnt->bindParam(':descr', $descr); $stmnt->bindParam(':filename', $filename); $stmnt->execute(); } catch(PDOException $e) { echo 'Une erreur est survenue lors de l\'insertion des données dans la base.<br> Message d\'erreur : ' . $e->getMessage(); } }
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
17 mars 2022 à 18:54
17 mars 2022 à 18:54
Et bien ça semble pas mal, quel est le souci tu as un message d'erreur ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ameb2908
Messages postés
89
Date d'inscription
jeudi 17 mars 2022
Statut
Membre
Dernière intervention
25 novembre 2024
17 mars 2022 à 19:03
17 mars 2022 à 19:03
Pas de message d'erreur. sauf que mon fichier c'est l'été.jpg est déplacé dans le répertoire images renommer comme ceci
cest-lete.jpg, jusque là tout va bien. Mais c'est l'insertion dans la base qui pose problème. mon fichier s'insert comme ceci
c'est l'été.jpg
cest-lete.jpg, jusque là tout va bien. Mais c'est l'insertion dans la base qui pose problème. mon fichier s'insert comme ceci
c'est l'été.jpg
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
17 mars 2022 à 19:21
17 mars 2022 à 19:21
Ben oui,
Quand tu fais le move, tu passes avant par la fonction
Il faut faire de même lors de l'insertion en bdd;..
Quand tu fais le move, tu passes avant par la fonction
$filename = $this->cleanText($name);
Il faut faire de même lors de l'insertion en bdd;..
ameb2908
Messages postés
89
Date d'inscription
jeudi 17 mars 2022
Statut
Membre
Dernière intervention
25 novembre 2024
18 mars 2022 à 09:52
18 mars 2022 à 09:52
Bonjour, j'ai fait comme vous dites. ça marche toujours pas.
<?php if(!empty($_FILES)) { $manager = new imageManager($db); $images = $manager->upload($_FILES); if($images === true) { $message = '<p class="msg_success">Le chargement a réussi</p>'; } else { $message = '<p class="msg_error">Le chargement a échoué</p>'; } } // Les valeurs sont-elles postées ? if(!isset($_POST['submit_form'])) { $message = '<p class="msg_error">Aucune donnée n\'est fournie. <a href="' . WEB_DIR_URL . 'admin/create-image.php">retour</a></p>'; } if(isset($_POST['submit_form'])) { $title_form = htmlspecialchars(trim($_POST['title_form'])); $descr_form = htmlspecialchars(trim($_POST['descr_form'])); // Cas où les valeurs sont postées. // Si une des valeurs est vide. if((empty($title_form)) OR (empty($descr_form))) { $message = '<p class="msg_error">Une des informations est manquante. <a href="' . WEB_DIR_URL . 'admin/create-image.php">retour</a></p>'; } else { $images_data = array( 'imgID' => 1, 'title' => $title_form, 'descr' => $descr_form, 'filename' => $_FILES['upload_form']['name'][0] ); $image_data = new Image($images_data); $manager = new imageManager($db); if(!$manager->readImageData($images)) { $manager->cleanText($images); $manager->createImageData($image_data); ?> <p><a href="update-image.php">Mise à jour des données</a></p> <?php print_r($_FILES); } else { $message = '<p class="msg_error">Une erreur est survenue lors de l\'enregistrement des données dans la base.<br> Aucune information n\'a été enregistrée.</p>'; } } }