Bonjour,
J'ai suivit le tuto de la Gestion d'image et création d'une gallerie de grafikart, je souhaiterais en plus récupérer le chemin de l'upload de l'image et le stocker dans une table "image" pour pouvoir récupérer l'image stockée dans une autre partie du site, mais je ne sais pas comment ajouter cela au code du tuto.
Si quelqu'un peut m'aider ?
merci
salut ,
jai deja fait un systeme comme que tu souhaite ses assez facile mais pourquoi veux tu stoker le chemin de l'images dans une database tu risque de surcharger ta database a longue. moi je te conseil plutot de mettre un chemin predefini via un dossier uploads a la places de mettre tous dans une database et ajouter un champs images a celle qui contiens les infos. comme ceci sa serais moin charger pour ton serveur mysql :)
Ben au moment de l'upload tu rajoute une insertion en base de données. Tu bloques à quel niveau !
Salut Grafikart,
Voilà ou je pensais mettre l'INSERT INTO :
if(!empty($_FILES)){
require("imgClass.php");
$img = $_FILES['img'];
$ext = strtolower(substr($img['name'],-3));
$allow_ext = array("jpg",'png','gif');
if(in_array($ext,$allow_ext)){
move_uploaded_file($img['tmp_name'],"images/".$img['name']);
Img::creerMin("images/".$img['name'],"images/min",$img['name'],215,112);
Img::convertirJPG("images/".$img['name']);
include ('bdd.php');
$select = $bdd->query("INSERT INTO image VALUES ('$_FILES['tmp_name']')");
while($nomImage = $select->fetch() ):
}
else{
$erreur = "Votre fichier n'est pas une image, seul les extensions Jpg, png et gif sont acceptées";
}
}
Mon soucis est que dois je mettre dans le VALUES, sacahsnt que ma table est image.
merci
Bon j'ai modifié mon code et ça donne ça :
if(!empty($_FILES)){
require("imgClass.php");
$img = $_FILES['img'];
$ext = strtolower(substr($img['name'],-3));
$allow_ext = array("jpg",'png','gif');
if(in_array($ext,$allow_ext)){
move_uploaded_file($img['tmp_name'],"images/".$img['name']);
Img::creerMin("images/".$img['name'],"images/min",$img['name'],215,112);
Img::convertirJPG("images/".$img['name']);
include ('bdd.php');
$select = $bdd->query("INSERT INTO image(nomImage) VALUES ('ma super image')");
$select->execute(array($_FILES));
}
else{
$erreur = "Votre fichier n'est pas une image, seul les extensions Jpg, png et gif sont acceptées";
}
}
Je sais qu'il faut récupérer le nom de l'image que je dois mettre dans VALUES mais je ne sais pas quoi mettre.
Puis je souhaite pouvoir faire une requete pour pouvoir utiliser cette image pour l'afficher ailleur dans le site.
Il vaut mieux stocker le nom de l'image ou son chemin qui est dans le dossier : images/
Bonsoir.
Il vaut mieux stocker le nom de l'image ou son chemin qui est dans le dossier : images/
Si toutes les images qui seront traitées par le script, seront situées dans le même dossier et donc images, autant ne mettre que le nom de l'image et son extension (par exemple).
Du moment que tu sais où seront stockées les images par le script, ça ne te posera pas de problème.
Bonsoir,
J'ai modifié mon code comme cela :
include ('bdd.php');
$nomImage = $_FILES['img']['name'];
$select = $bdd->prepare("INSERT INTO `actualites` (`nomImage`) VALUES (:nom)");
$select->bindParam(':nom',$nomImage,PDO::PARAM_STR);
$select->execute();
unset($select);
}
else{
$erreur = "Votre fichier n'est pas une image, seul les extensions Jpg, png et gif sont acceptées";
}
le nom de l'image est bien récupérer par la base de données.
Le soucis est que j'ai un formulaire pour le contenu de l'article et un formulaire pour l'image, évidement ils sont séparés donc quand je valide l'un, l'autre n'est pas pris en compte, donc pas d'insertion dans la BDD. Sois j'insère le nom de l'image sois c'est le contenu.
voici le code pour le reste :
<?php
include('bdd.php');
if(isset($_POST['titre']) AND isset($_POST['content']) AND isset($_POST['categorie']))
{
$requete = $bdd->prepare("INSERT INTO actualites (titre,content,category) VALUES(?, ?, ?)");
$requete->execute(array($_POST['titre'],$_POST['content'],$_POST['categorie']));
}
?>
Comment je peux faire pour valider l'ensemble et tout soit insérer dans la BDD ?
merci
Tu dois créer un seul formulaire avec les données de l'article et l'image.
Tu upload ton image puis tu récupère le lien (absolu de préférence) et tu l'insère dans ta base de données
Je ne vois pas comment faire la requete SQL pour faire ce que tu dis ?
Puis je ne vois pas comment récupérer le lien absolu puis l'insérer dans la BDD ?
peux tu m'orienter ?
merci
Voilà la structure de la table categories :
id primary_key int auto_increment
date timestamp on update CURRENT_TIMESTAMP CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
titre varchar 255
content text
category varchar 255
nomImage varchar 255
UrlImage varchar 255
pour ma BDD:
deux table : page gestion des pages a-propos et services
actualites celle qui est au-dessus.
merci