IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Enregistrer chemin d'une image dans ma BDD


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 52
    Points
    52
    Par défaut [Upload] Enregistrer chemin d'une image dans ma BDD
    Bonjour,
    J'aimerais connaître le moyen d'envoyer le chemin de mes images dans ma BDD afin de pouvoir les afficher plus facilement par la suite.

    Pour le moment, j'ai juste mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form enctype='multipart/form-data' action='#' method='POST'>
    							<input type='hidden' name='max_file_size' value='250000'>
    							<input type='file' name='fic' size=50>
    							<input type='submit' value='Envoyer'>
    					</form>
    Que dois-je faire maintenant ??

    Merci d'avance pour votre aide

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 599
    Points
    12 599
    Par défaut
    Regarder du côté de $_FILES

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 52
    Points
    52
    Par défaut
    Alors voilà où j'en suis maintenant, en cherchant avec le $_FILES

    Mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method='POST' action='upload.php' enctype='multipart/form-data'>
    			<input type='hidden' name='MAX_FILE_SIZE' value='250000'>
    			Fichier : <input type='file' name='avatar'>
    			<input type='submit' value='Envoyer'>
    			</form>
    Et ma page upload.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    $dossier = 'upload/';
    		$fichier = basename($_FILES['avatar']['name']);
    		$taille_maxi = 100000;
    		$taille = filesize($_FILES['avatar']['tmp_name']);
    		$extensions = array('.png', '.gif', '.jpg', '.jpeg');
    		$extension = strrchr($_FILES['fichier']['name'], '.'); 
     
    		//Début des vérifications de sécurité...
    		if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    		{
    			$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...';
    		}
    		if($taille>$taille_maxi)
    		{
    			$erreur = 'Le fichier est trop gros...';
    		}
    		if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    		{
    			//formatage du nom (suppression des accents, remplacements des espaces par "-")
    			$fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    			$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    			if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //correct si la fonction renvoie TRUE
    			{
    				echo 'Upload effectué avec succès !';
    				//ajout_image($fichier,);
    			}
    			else //sinon, cas où la fonction renvoie FALSE
    			{
    				echo 'Echec de l\'upload !';
    		    }
    		}
    		else
    		{
    			echo $erreur;
    		}
    Et tout ça, ça me permet de copier mon image vers le dossier souhaité.
    Très bien, c'est déjà un bon pas pour moi

    Mais pour ce qui est de mettre le chemin des images dans la BDD

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 599
    Points
    12 599
    Par défaut
    Je suppose que tu as déjà une connection vers une db et que les tables sont installé.

    il suffit alors de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO TABLE (chemin) VALUES($dossier . $fichier);

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 52
    Points
    52
    Par défaut
    Et ben tu sais quoi MaitrePylos, si je t'avais à côtés de moi j'te ferais une grosse biz pour te remercier

    Je résume tout de même, si ça peut servir à d'autre

    Mon formulaire de départ, sur index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method='POST' action='upload.php' enctype='multipart/form-data'>
    			<input type='hidden' name='MAX_FILE_SIZE' value='250000'>
    			<input type='file' name='avatar'>
    			<input type='submit' value='Envoyer'>
    			</form>
    Ma fonction dans ma page traitement.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ajout_image ($chemin)
    {
    	$result = mysql_query("insert into image(image_chemin) values('$chemin');") or die (mysql_error());
    };
    Et ma page upload.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    $dossier = 'upload/';
    		$fichier = basename($_FILES['avatar']['name']);
    		$taille_maxi = 100000;
    		$taille = filesize($_FILES['avatar']['tmp_name']);
    		$extensions = array('.png', '.gif', '.jpg', '.jpeg');
    		$extension = strrchr($_FILES['avatar']['name'], '.'); 
     
    		//Début des vérifications de sécurité...
    		if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    		{
    			$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...';
    		}
    		if($taille>$taille_maxi)
    		{
    			$erreur = 'Le fichier est trop gros...';
    		}
    		if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    		{
    			//formatage du nom (suppression des accents, remplacements des espaces par "-")
    			$fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    			$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    			if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //correct si la fonction renvoie TRUE
    			{
    				echo 'Upload effectué avec succès !';
    				$chemin = $dossier . $fichier;
    				ajout_image($chemin);
    			}
    			else //sinon, cas où la fonction renvoie FALSE
    			{
    				echo 'Echec de l\'upload !';
    		    }
    		}
    		else
    		{
    			echo $erreur;
    		}

    Par contre, j'aimerais savoir... que va-t-il se passer quand je vais héberger mon site ?? Par rapport au chemin, ça devrait changer non ??
    J'ai jamais hébergé de site donc je me renseigne ^^

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 599
    Points
    12 599
    Par défaut
    Citation Envoyé par Erwan M. Voir le message
    Et ben tu sais quoi MaitrePylos, si je t'avais à côtés de moi j'te ferais une grosse biz pour te remercier
    Comme tu y vas


    Pour ton hébergement tu vérifieras, que le répertoire upload/ soir à la racine par rapport à ton index.php, sinon à toi à adapter le chemin.

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 52
    Points
    52
    Par défaut
    OK très bien

    Ben je te remercie beaucoup en tout cas, si tu veux pas de biz
    Nan parce que ça fait un long moment (pour moi) que je veux percer le mystère image/BDD... j'avais pas commencé avec cette méthode au départ...

    Merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Insérer le chemin d'une image dans une base de données access
    Par hugnka dans le forum VB.NET
    Réponses: 10
    Dernier message: 08/05/2012, 18h00
  2. Chemin d'une image dans une lisView
    Par paintbox dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/10/2011, 18h13
  3. [AC-2007] Changer le chemin d'une image dans un formulaire
    Par Invité dans le forum IHM
    Réponses: 2
    Dernier message: 12/05/2011, 14h46
  4. Réponses: 2
    Dernier message: 13/09/2010, 14h23
  5. Réponses: 9
    Dernier message: 02/06/2007, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo