Stocker une image

solida Messages postés 118 Statut Membre -  
solida Messages postés 118 Statut Membre -
slt,
Je ve que lorsque les clients ajoutent un articl puissent aussi aujouter(parcourir)une image, et je dois stocker cette image dans ma base.
je veux savoir comment faire cela ,et comment stocké cette imgage et en fin pouvoir l'afficher.
Merciii d'avance c'est tres importan pour mon projet.
A voir également:

2 réponses

pyschopathe Messages postés 2053 Statut Membre 135
 
Il faut faire un <input type="file" /> dans ton formulaire html. Les informations sur le fichier seront contenus dans la superglobale php $_FILES[]. Ces informations sont les suivantes :
$_FILES['fichier']['name']
    Contient le nom d'origine du fichier 
$_FILES['fichier']['tmp_name']
    Nom temporaire du fichier dans le dossier temporaire du système 
$_FILES['fichier']['type']
    Contient le type MIME du fichier 
$_FILES['fichier']['size']
    Contient la taille du fichier en octets 
$_FILES['fichier']['error']
    Code de l'erreur (le cas échéant)

Il faut aussi que ton formulaire précise l'encodage correct :
<form method="post" enctype="multipart/form-data" action="upload_fichier.php">
0
solida Messages postés 118 Statut Membre 16
 
merci mais pourquoi ne pas stocker que les URL Si on stock que les urls, c'est du texte donc ca pèse pas lourd

mais je sais pas comment récupérer et afficher les images apres

et merci d'avance
0
pyschopathe Messages postés 2053 Statut Membre 135 > solida Messages postés 118 Statut Membre
 
Bien sûr tu peux ne stocker que l'URL, je te conseille même de faire comme ça. Mais le formulaire précédent te permettra de télécharger l'image sur le serveur. Ensuite tu l'enregistres dans le dossier que tu veux (par exemple /images) grâce à la fonction move_uploaded_file et tu stockes l'url dans ta base de données. Quand tu veux récupérer l'image, tu n'as qu'à chercher dans ta base de données selon le critère qui t'intéresse.
0
solida Messages postés 118 Statut Membre 16 > pyschopathe Messages postés 2053 Statut Membre
 
je suis vraiment nulle en ça ,je suis une débutante vous pouvez m'expliqué encore plus svp

et merci d'avance!!!!
0
pyschopathe Messages postés 2053 Statut Membre 135 > solida Messages postés 118 Statut Membre
 
Il faudrait que tu me dise ce que tu n'as pas compris, où tu en es de ton développement... Et tu peux me tutoyer, je ne suis pas encore assez vieux ^^.
0
solida Messages postés 118 Statut Membre 16
 
je veux savoir comment ne stocker que l'URL d'une image et comment résuperer cette image et l'afficher a partir de son url

et merci pour tes réponses !!
0
mmm
 
oje suis aussi tres interessée à ce sujet et j'ai la meme question

je souhaite plus d'explication stp!!
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Bon, un petit code sera plus parlant qu'une longue explication... On va imaginer que tu veux stocker les images dans une table de la forme suivante : tableUserImages( id_user, url_image ).

Ce schéma est extrêmement simplifié évidemment, tu pourrais avoir envie de stocker aussi les dimension de l'image par exemple, pour l'afficher correctement, ou le type d'image que c'est (avatar, photo de vacance, etc).

Je ne donnerai ici aucun code HTML, seulement le PHP qui nous intéresse. Le nom du champs de type file dans le formulaire est image. Pour commencer, on va voir le code du fichier qui reçoit l'image :
<?php
    // S'il y a eu un problème à l'envoi
    if ( !isset( $_FILES['image'] || $_FILES['image']['error'] != 0 ) {
        echo 'Erreur lors de l'envoi de l'image, veuillez réessayer.';
    }
    else { // Tout s'est bien passé
        // Le répertoire dans lequel on sauvegardera toutes les images, dans ce 
        // cas le répertoire 'images' qui se trouve dans le répertoire parent 
        // du répertoire courant
        $repertoire_images = '../images/';
        $nom_final = $repertoire_images.$_FILES['image']['name'];
        // On déplace l'image vers le bon répertoire
        move_uploaded_file( $_FILES['image']['tmp_name'], $nom_final );

        // On ouvre la connexion à la base de donnée, on choisit la base...

        // On insère l'image dans la table avec la requête suivante :
        // INSERT INTO tableUserImages VALUES( $id_user, $nom_final );
        // où $id_user est l'identifiant de l'utilisateur qui a uploadé l'image
        
        // On vérifie les erreurs
    }
?>

Ensuite le formulaire d'affichage des images :
<?php
    // On récupère le résultat de la sélection dans la variable $tableau_images
    // SELECT url_image FROM tableUserImages WHERE id_user=$id_user;

    // On affiche une liste des images
    echo '<h1>Liste des images de l'utilisateur '.$id_user.' :</h1>';
    echo '<ul>';
    foreach ( $tableau_images as $image ) {
        echo '<li><img src="'.$image.'" /></li>';
    }
    echo '</ul>';
?>

Ce n'est qu'un exemple de code qui est loin d'être parfait, mais ça donne une idée de ce qui est possible. N'hésitez pas à demander si certaines choses ne sont pas claires.
0
solida Messages postés 118 Statut Membre 16 > pyschopathe Messages postés 2053 Statut Membre
 
ok merci
pour cette fonction $_FILES['image']['name']; je dois changer le paramettre "image"et"name" ou il ca passe comme ça meme question pour $_FILES['image']['tmp_name']
et merciii d'avance pr les réponses
0
pyschopathe Messages postés 2053 Statut Membre 135 > solida Messages postés 118 Statut Membre
 
"image" correspond au nom dans le formulaire d'envoi, comme je l'ai indiqué dans mon message précédent. Les autres noms sont gérés par PHP (name, tmp_name, error...)
0
solida Messages postés 118 Statut Membre 16 > pyschopathe Messages postés 2053 Statut Membre
 
ok merci mnt j'ai compris
0