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

PHP & Base de données Discussion :

Envoi d'image ds ma base ?


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut Envoi d'image ds ma base ?
    SLT
    je veux envoyer des photos dans ma base mysql mais ça marche pas. voiçi mon code :fichier envoi_photo.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    <h3>Envoi d'une image</h3> 
    <form enctype="multipart/form-data" method="post" action="transfert.php" >
     <input type="hidden" name="MAX_FILE_SIZE" value="250000">
      <input type="file" name="fic" size=50 >
       <input type="submit" value="Envoyer">
        </form>
    ?>
    Ensuite le fichier transfert.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
     
     
     
    <?php 
    function transferts() 
    { 
    include ("connexion.php");
    $ret =false; 
    $img_blob =file_get_contents($_FILES ['fic']['tmp_name']); 
    $img_taille =0; 
    //$img_type =$_FILES ['fic']['type']; 
     //$img_nom =$_FILES ['fic']['name'];
    $taille_max =250000;
    $ret =is_uploaded_file($_FILES['fic']['tmp_name']); 
    if (!$ret) {echo "Problème de transfert"; return false;}
     
     else {//Le fichier a bien été reçu 
     $img_taille =$_FILES['fic']['size']; }
     if ($img_taille >$taille_max) { echo "Trop gros !"; return false; }
     else {
      $img_type =$_FILES['fic']['type'];
       $img_nom =$_FILES['fic']['name'];
    //$img_blob =file_get_contents($_FILES ['fic']['tmp_name']); 
     
    $req ="INSERT INTO images(img_nom,img_taille,img_type,img_blob)VALUES('$img_nom','$img_taille','$img_type',addslashes('$img_blob'))";
    echo "Votre image est bien reçu";
    $ret =mysql_query($req)or die(mysql_error()); 
    return true;
    }
     
    }
    ?>
     
    ma base est bien déclaré(dans phpmyadmin) et bien il y'a inclusion du fichier connexion.php
     
    où est ce que ça cloche?merçi

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Que te disent tes echo, die et autres infos de débogage ?

  3. #3
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Kirkis
    Salut

    Que te disent tes echo, die et autres infos de débogage ?
    mmm au fait meme pas le echo n'affiche rien.

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2005
    Messages : 93
    Points : 87
    Points
    87
    Par défaut
    est-ce que tu appelles ta fonction au moins, dans transfert.php?

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Alors je te propose de mettre des echo un peu partout, au fur et à mesure, afin de savoir comment réagit ton code (entre-t-il dans la fonction, lit-il correctement ton fichier, etc.) et avant de nous donner un état des lieux.
    Dans l'état actuel des choses, nous avons peu d'infos pour t'aider.

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par -DeN-
    est-ce que tu appelles ta fonction au moins, dans transfert.php?
    +1

  7. #7
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Mr N.
    Citation Envoyé par -DeN-
    est-ce que tu appelles ta fonction au moins, dans transfert.php?
    +1
    SLT
    Bien sur que j'appelle la fonction transferts qui se trouve ds le fichier transfert.php (après clic sur le submit il y'a appel)
    voici mon fichier de connexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DEFINE ('DB_USER', 'jjuuuuu');
    DEFINE('DB_PASSWORD','a22222);
    DEFINE ('DB_HOST','mysql.hebergeur.com');
    DEFINE('DB_NAME','jjuuuuu');
     
     
     
    $cnx= mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) ;
    $ret= mysql_select_db('jjuuuuu') or die (mysql_error());

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    j'espère que tu as bien changé ton mot de passe...

    et je te rappelle mr.n : appelles tu bien la fonction dans transfert.php ?

    car le clic sur ton submit appelle la page transfert.php. point.
    est-ce que la code qui est dans cette page fait bien appel à la fonction transferts ? car dans le code que tu montres, tu définis cette fonction. mais tu peux définir 150000 fonctions, si tu ne les utilises pas, c'est comme si tu ne fais rien

  9. #9
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    salut,
    tu as regardé ce tuto qui explique tout ça ?

  10. #10
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut envoi réussi mais pas l'affichage
    Citation Envoyé par Le_coyote
    salut,
    tu as regardé ce tuto qui explique tout ça ?

    SLT
    j'ai bien lu ce tutoriel puisque c'etait mon point de départ .
    Pour l'envoi ds ma base ça marche (au fait le probleme c'etait le non appel de la fonction (il avait raison notre ami)) , le listing aussi mais je n'arrive pas à afficher l'image il me signale une erreur au niveau de la ligne en gras du code ci-dessous.(fichier apercu.php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php 
    if (isset($_GET ['id'])) 
    { $id =intval ($_GET ['id']);
        include ("connexion.php");
        $req ="SELECT img_id,img_type,img_blob ". "FROM images WHERE img_id =".$id;
        $ret =mysql_query ($req)or die (mysql_error ()); 
    $col =mysql_fetch_row ($ret);
     
    [b] if (!$col[0] ) {  echo "Id d'image inconnu";  } else {  header ("Content-type:".$col [1 ]); echo $col [2 ]; [/b]} 
    	} 
    else { echo "Mauvais id d'image"; }
     ?>


  11. #11
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Quelle erreur ? On n'est pas devin

Discussions similaires

  1. Envoie d'images base 64 et outlook
    Par tidus_6_9_2 dans le forum Langages serveur
    Réponses: 2
    Dernier message: 14/11/2012, 15h35
  2. [Conception] envoie et stockage image dans la base
    Par nnanabebe dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/08/2006, 17h17
  3. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  4. Réponses: 21
    Dernier message: 29/04/2004, 15h45
  5. LYCOS ET MYSQL - Intégrer des images dans une base!
    Par archeo dans le forum Installation
    Réponses: 3
    Dernier message: 06/04/2004, 13h45

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