Insertion image php/mysql
Résolu
lionel
-
Scienti Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Scienti Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit soucis, je veux afficher une galerie d'image mais quand j'éxécute mon fichier galerie.php j'ai un tableau sans image, les image ne ce reconstitut pas, quand je clique dessus j'ai un tas de caractère mais je ne sait pas d'ou vient mon erreur alors je vous met le tout:
entree_image.php:
galerie.php
apercu.php
<?php
//si nous avons une image
if(!empty($_GET['id_img'])) {
//connexion à la base de données
$connexion = mysql_connect("localhost", "root", "") or exit (mysql_error());
$database = mysql_select_db("vehicules_neufs")or exit (mysql_error());
//on sécurise notre donnée
$idImg = intval($_GET['id_img']);
//la requète qui récupère l'image à partir de l'identifiant
$apercu = mysql_query("SELECT extension, img FROM images WHERE id_img = ".$idImg) or exit (mysql_error());
//si le résultat est différent de 1
if(mysql_num_rows($apercu) != 1)
echo 'L image n existe pas !';
else {
//on stocke les données dans un tableau
$reponse = mysql_fetch_assoc($apercu);
//on indique qu'on affiche une image
header ("Content-type: ".$reponse['extension']);
//on affiche l'image en elle même
echo $reponse['img']['extension'];
}
mysql_close();
} else
echo 'Vous n avez pas sélectionné d image !';
?>
j'ai suivis un tutorial et pourtant je pense l'avoir bien suivis mais j'ai du faire une erreur je ne sais où.
Merci d'avance.
Cordialement lionel
j'ai un petit soucis, je veux afficher une galerie d'image mais quand j'éxécute mon fichier galerie.php j'ai un tableau sans image, les image ne ce reconstitut pas, quand je clique dessus j'ai un tas de caractère mais je ne sait pas d'ou vient mon erreur alors je vous met le tout:
entree_image.php:
<head> <title>Envoyer une image</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> label { display:block; width:150px; float:left; } </style> </head> <body> <?php if(isset($_POST['validation'])) { //Indique si le fichier a été téléchargé if(!is_uploaded_file($_FILES['image']['tmp_name'])) echo 'Un problème est survenu durant l opération. Veuillez réessayer !'; else { //liste des extensions possibles $extensions = array('/png', '/gif', '/jpg', '/jpeg'); //récupère la chaîne à partir du dernier / pour connaître l'extension $extension = strrchr($_FILES['image']['type'], '/'); //vérifie si l'extension est dans notre tableau if(!in_array($extension, $extensions)) echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.'; else { //on définit la taille maximale define('MAXSIZE', 300000); if($_FILES['image']['size'] > MAXSIZE) echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets'; else { //on se connecte (remplacer les paramètres de connexion) $connexion = mysql_connect("localhost", "root", "") or exit (mysql_error()); $database = mysql_select_db("vehicules_neufs") or exit (mysql_error()); //récupération des infos saisies $nom = mysql_escape_string($_POST['nom']); $description = mysql_escape_string($_POST['description']); //Lecture du fichier. On doit utiliser la fonction mysql_escape_string car les données binaires contiennent des caractères spéciaux. $image = mysql_escape_string(file_get_contents($_FILES['image']['tmp_name'])); //Il ne reste qu'à insérer tout ça dans notre table. mysql_query("INSERT INTO images(nom, description, img, extension) VALUES('".$nom."', '".$description."', '".$image."', '".$_FILES['image']['type']."')") or exit (mysql_error()); mysql_close(); echo '<h3>L insertion s\'est bien déroulée !</h3>'; } } } } ?> <h1>Envoyer une image</h1> <form enctype="multipart/form-data" action="entree_nouveau_vehicule.php" method="post"> <p> <label for="nom">Nom : </label><input type="text" name="nom" id="nom" /><br /> <label for="description">Description : </label><textarea name="description" id="description" rows="10" cols="50"></textarea><br /> <label for="image">Image : </label><input type="file" name="image" id="image" /><br /> <label for="validation">Valider : </label><input type="submit" name="validation" id="validation" value="Envoyer" /> </p> </form> <form action="galerie.php" method="post"> <p> <input type="submit" name="validation" value="image" /> </p> </form> </body>
galerie.php
<head> <title>Ma galerie d'images</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> body { width: 95%; } div { width: 22%; float: left; text-align: center; border: 1px solid black; margin: 5px; padding: 5px; } p { text-align: left; } a { color: #000000; text-decoration: none; } </style> </head> <body> <h1>Ma galerie d'images</h1> <?php $connexion = mysql_connect("localhost", "root", "") or exit (mysql_error()); $database = mysql_select_db("vehicules_neufs") or exit (mysql_error()); $affichage = mysql_query("SELECT id_img, nom, description FROM images") or exit (mysql_error()); while($result = mysql_fetch_assoc($affichage)) { echo '<div>'; echo '<a href="apercu.php?id_img='.$result['id_img'].'"><img src="apercu.php?id_img='.$result['id_img'].'" alt="'.$result['nom'].'" title="'.$result['nom'].'" /></a>'; echo '<p>Description : '.$result["description"].'</p>'; echo '</div>'; } mysql_close(); ?>
apercu.php
<?php
//si nous avons une image
if(!empty($_GET['id_img'])) {
//connexion à la base de données
$connexion = mysql_connect("localhost", "root", "") or exit (mysql_error());
$database = mysql_select_db("vehicules_neufs")or exit (mysql_error());
//on sécurise notre donnée
$idImg = intval($_GET['id_img']);
//la requète qui récupère l'image à partir de l'identifiant
$apercu = mysql_query("SELECT extension, img FROM images WHERE id_img = ".$idImg) or exit (mysql_error());
//si le résultat est différent de 1
if(mysql_num_rows($apercu) != 1)
echo 'L image n existe pas !';
else {
//on stocke les données dans un tableau
$reponse = mysql_fetch_assoc($apercu);
//on indique qu'on affiche une image
header ("Content-type: ".$reponse['extension']);
//on affiche l'image en elle même
echo $reponse['img']['extension'];
}
mysql_close();
} else
echo 'Vous n avez pas sélectionné d image !';
?>
j'ai suivis un tutorial et pourtant je pense l'avoir bien suivis mais j'ai du faire une erreur je ne sais où.
Merci d'avance.
Cordialement lionel
A voir également:
- Insertion image php/mysql
- Image iso - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
41 réponses
Bonjour,
je pense que ce petit tuto devrait répondre à la plus part de vos questions ! ;)
https://webinfobazar.com/upload-dune-image-sur-un-ftp-php-sql/
n'hésitez à poser vos questions si vous en avez et à aller jeter un coup d'oeil aux autres tutos :)
je pense que ce petit tuto devrait répondre à la plus part de vos questions ! ;)
https://webinfobazar.com/upload-dune-image-sur-un-ftp-php-sql/
n'hésitez à poser vos questions si vous en avez et à aller jeter un coup d'oeil aux autres tutos :)