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 :

[Tableaux] Uploade images et enregistrement dans BD


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut [Tableaux] Uploade images et enregistrement dans BD
    Bonjour,

    Je voudrais savoir si quelqu'un connait un bon tuto sur le téléchargement de plusieurs fichiers via un formulaire PHP.
    Le téléchargement des photos dans un dossier, et l'enregistrement du nom et du chemin dans une TABLE, mais aussi pourquoi pas comment généré un nom aléatoire de dossier à chaque enregistrement.

    D'avance merci.

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    C'est marrant, j'ai l'impression d'avoir deja répondu a cette question un certain nombres de fois...

    alors :
    Telechargement par la methode POST

    génération d'un nom de repertore :
    $nom_de_mon_rep = './gallery/'.md5(microtime());

    enregistrement de ce dernier dans une base de donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query('insert into image `chemin_image` values("'.$nom_de_mon_rep.'/'.$nom_de_limage.'") ');

  3. #3
    Membre confirmé Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Points : 465
    Points
    465
    Par défaut
    Citation Envoyé par gloubi
    (...)
    génération d'un nom de repertore :
    $nom_de_mon_rep = './gallery/'.md5(microtime());

    enregistrement de ce dernier dans une base de donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query('insert into image `chemin_image` values("'.$nom_de_mon_rep.'/'.$nom_de_limage.'") ');
    Je reviens sur ta réponse très instructive, certes. Comment ça se passe pour enregistrer dans une BD "toute" l'image, avec GD2 et MySQL?
    Je bosse sur ce module, et j'ai une internal server error chez Lycos.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    La méthode sus-citée sert a enregistrer le nom de l'image (et son chemin), pas l'image elle même. Cela implique qu'elle ai été préalablement uploadée avec POST $_FILE.

    Si t'as ton image en GD2, je ne sais pas comment l'enregistrer dans ta BDD... je suppose qu'il te faut un champs de binaire, mais vraiment, je sais pas quelle est la méthode juste.

  5. #5
    Membre confirmé Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Points : 465
    Points
    465
    Par défaut
    well, qui peut nous aider à ce sujet?

  6. #6
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut broumbroum
    y a tout ce qui faut dans ce tuto :
    http://beaussier.developpez.com/arti...hp/mysql/blob/

    Tu as juste à utiliser imagejpg() ou imagegif() à la place de file_get_contents().
    Tu es sur que ton erreur ne vient pas de GD ?

  7. #7
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par broumbroum
    Je reviens sur ta réponse très instructive, certes. Comment ça se passe pour enregistrer dans une BD "toute" l'image, avec GD2 et MySQL?
    Je bosse sur ce module, et j'ai une internal server error chez Lycos.
    Alors u truc marrant par exemple quand on tape sur recherche sur une commande php ou un tuto on tombe toujours sur les même exemples.
    Télécharger une photo et la stocker dans un dossier et enregistrée les données dans une table c'est trés facile.
    Mais ma question étais PLUSIEURS et là ca commence à ce gâter

    Merci

  8. #8
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par gloubi
    C'est marrant, j'ai l'impression d'avoir deja répondu a cette question un certain nombres de fois...

    alors :
    Telechargement par la methode POST

    génération d'un nom de repertore :
    $nom_de_mon_rep = './gallery/'.md5(microtime());

    enregistrement de ce dernier dans une base de donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query('insert into image `chemin_image` values("'.$nom_de_mon_rep.'/'.$nom_de_limage.'") ');
    Merci pour la génération automatique c'est génial ça fonctionne nickel, mais je voudrais pas avoir l'air difficile mais il y à moyen d'avoir un nom moins long parce que j'aimerais utiliser le nom générée aléatoirement comme référence de dossier et avoue qu'avec une référence du genre 34f08c8c18c0c408a70b7d7e66242fb0 c'est pas simple

    Merci

  9. #9
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Le principe est le même sauf qu'il faut que tu fasses une boucle :

    ton form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input name="a" type="file" />
    <input name="b" type="file" />
    <input name="c" type="file" />
    Pour la récup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($_FILES as $file) {
    // traitement ex: if(move_uploaded_file($file['tmp_name'], '/repertoire/') {etc.}
    }
    Pour ton formulaire il faut que tu te renseignes sur la limite de taille d'upload accepté par ton serveur en POST (par defaut 8M) et la taille d'upload par fichier (par défaut 2M) puis que tu divises par le nombre d'input file que tu veux mettre pour calculer le : <input type="hidden" name="MAX_FILE_SIZE" value="????" /> (ou alors t'en mets un seul, en fait je sais pas trop sur ce coup-là )

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    $nom_fic_de_5_lettres = substr(md5(microtime()),0,5);

Discussions similaires

  1. Upload Image et mettre dans Drawable
    Par khaledfayala dans le forum Android
    Réponses: 3
    Dernier message: 20/04/2012, 15h25
  2. [MySQL] Upload d'image et enregistrement dans base de données
    Par maumen dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 31/07/2009, 15h54
  3. Réponses: 4
    Dernier message: 05/03/2008, 09h49
  4. Uploade images et enregistrement dans BD
    Par dunbar dans le forum Outils
    Réponses: 2
    Dernier message: 20/11/2006, 22h17
  5. Réponses: 5
    Dernier message: 30/07/2006, 17h49

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