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

Bibliothèques et frameworks PHP Discussion :

[Image]Stockage et récuperation d'images dans mysql


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut [Image]Stockage et récuperation d'images dans mysql
    J'avance petit à petit dans le php, et je suis entrain de concevoir mon propre blog.

    J'ai donc créé une interface d'administration pour créer, éditer et supprimer des articles. Et je veux pouvoir uploader des images depuis un formulaire de ce type.



    Seulement d'après ce que j'ai déjà compri, c'est pas vraiment une bonne idée de stocker directement des images dans une base plutôt que les chemins.

    Donc comment est-il possible d'envoyer des images depuis un formulaire si c'est pas pour les stocker sur la base ?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    hello,
    Tout d'abord il existe des blogs tout fait que tu peux apres customiser.
    en effet c'est pas genial de stocker des images dans ta base de données.
    Tu stockes dans ta base le chemin où tu as mis ton fichier. Puis qd tu affiches tes images tu recuperes le chemin et tu affiches ton images.

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    l'idée est toute simple. Au lieu de stoquer ton image dans ta base de données, tu va la stoquer dans un répertoire sur ton serveur. La seule chose que tu stoquera dans ta base sera l'adresse de l'image, et pour l'afficher, tu n'aura qu'a créer un bête HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<Img src="'.$chemin_image.'">';
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Tout d'abord il existe des blogs tout fait que tu peux apres customiser.
    Ca, ca n'a ancun intérêt pour moi

    l'idée est toute simple. Au lieu de stoquer ton image dans ta base de données, tu va la stoquer dans un répertoire sur ton serveur. La seule chose que tu stoquera dans ta base sera l'adresse de l'image, et pour l'afficher, tu n'aura qu'a créer un bête HTML
    oui mais je ne peux plus passer par un formulaire dans ce cas ! Il faudrait que j'envoie un chemin ou une image portant le même nom que l'articles...

  5. #5
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    et bien, si, tu aura toujours besoin d'un formulaire...

    Au lieu de stoquer ton image dans ta DB, tu la stoque sur ton serveur. Même principe, il faut bien la fransférer depuis la post client vers chez toi ...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Me connecter au FTP avec un code de ce type ?

    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
     
    <?php
    // création de la connexion
    $conn_id = ftp_connect("$ftp_server");
    // authentification avec nom de compte et mot de passe
    $login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
    // vérification de la connexion
    if ((!$conn_id) || (!$login_result)) {
            echo "La connexion FTP a échoué!";
            echo "Tentative de connexion à $ftp_server avec $ftp_user_name";
            die;
        } else {
            echo "Connecté à $ftp_server, avec $ftp_user_name";
        }
    // téléchargement d'un fichier
    $upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY);
    // Vérification de téléchargement
    if (!$upload) {
            echo "Le téléchargement Ftp a échoué!";
        } else {
            echo "Téléchargement de $source_file sur $ftp_server en $destination_file";
        }
    // fermeture de la connexion FTP.
    ftp_quit($conn_id);
    ?>
    Mais alors est-il possible de donner un nom précis à l'image envoyée sur le FTP sans la renommer manuellement, afin de pouvoir l'appeler avec un texte bien précis de la base de données ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Pour info, j'ai trouvé plus simple :

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    <?php
     
    include ("requete.php");
     
    if (
      move_uploaded_file(
        $_FILES['image']['tmp_name'], 
        'upload/'.$_FILES['image']['name']
      )
    ) {
      echo 'ça a marché';
    } else {
      echo 'problème';
    }
     
     
     
     
    $name = $_FILES['image']['name'];
    $type = $_FILES['image']['type'];
    $extension=strrchr($name,'.');
    $extension=substr($extension,1);
     
    rename("upload/$name", "images/$extension/$titre.$extension");
     
     
    $chemin_image = 'http://mickdu90.free.fr/images/'.$extension.'/'.$titre.'.'.$extension.'';
     
    include ("config.php");
    $connection = mysql_connect($host, $user, $pass);
    $db         = mysql_select_db($database, $connection);
     
     
     
     
        $result=mysql_query("INSERT INTO images (img_chemin, titre) VALUES ('$chemin_image','$titre')");
        $id= mysql_insert_id();
        print "<br>Indentifiant du fichier dans la base: $id<br>";
        mysql_close();
     
     
    ?>
     
    <img src="http://mickdu90.free.fr/images/"$extension"/'.$titre.'.'.$extension.'" width=200 height=150>
     
     
     
    <form action = "admin.php" value = " -- Retour --">
    </form>
     
    <?php
    include ("confirmation.php");
    ?>
    Et voilà comment envoyer des fichiers dans un FTP en les renommant avec la fonctoin rename(). Mon FTP est trié selon les extensoins des fichiers donc le fichier est envoyé dans le répertoire correspondant à l'extension. Ce script peut être amélioré en ajoutant la possibilité de créer automatiquement un répertoire s'il n'existe pas encore sur le serveur...

    Je vois pas le bouton résolu

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

Discussions similaires

  1. stockage d'images dans MySql
    Par guysotal dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/08/2010, 17h23
  2. Réponses: 3
    Dernier message: 02/04/2010, 11h27
  3. Réponses: 1
    Dernier message: 17/03/2010, 15h33
  4. Stockage d'images dans Mysql?
    Par sessime dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/10/2005, 16h56
  5. stockage d'images dans Mysql
    Par sessime dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/02/2004, 16h08

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