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 :

Une partie seulement de la photo s'affiche [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut Une partie seulement de la photo s'affiche
    Bonjour

    J'ai un formulaire (en php) qui permet d'envoyer une photo dans une base MySql.
    Lorsque j'appelle la photo en php, cela fonctionne, mais je n'ai que la moitié de la photo.
    Si quelqu'un pouvait m'aider SVP

    Voici mon code :
    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
    <?
     $id = "49";
     
     
    // connexion à la base
    $db = mysql_connect('sql.toto.com','id','pwd')  or die('Erreur de connexion '.mysql_error()); 
     
    // sélection de la base  
        mysql_select_db('database',$db)  or die('Erreur de selection '.mysql_error()); 
     
    // On récupère l'image
       $sql = "SELECT img_blob FROM membre where id='".$id."'";
     
       $result = mysql_query($sql);
       $sortie = mysql_fetch_assoc($result);
     
     
    // On met en place les headers, pour dire qu'on a bien là une photo.
       header('Content-type: image/jpeg');  // cf 1)
       header('Content-transfer-encoding: binary');
     
    // Et on envoie la photo
    echo $sortie["img_blob"];
     
    ?>

    Merci

    Yann

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 257
    Points : 8 553
    Points
    8 553
    Billets dans le blog
    17
    Par défaut
    Es-tu sûr du binaire de l'image ?
    As-tu testé un autre navigateur ?
    Et si tu rajoutais une en-tête Content-Length ?

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 66
    Points
    66
    Par défaut
    Si ta photo ne s'affiche pas entièrement, ne serait-ce pas un problème de récupération de l'image ? Il n'a pas le temps de tout récupérer.
    Dans ce cas en mettant un temps d'exécution plus long ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    init_set("max_execution_time",60); //pour un timeout de 60sec par exemple
    Ça ne doit même pas être ça, sinon tu aurais vu un message d'erreur le signalant (et tu ne devrais même pas voir ton image...)

    J'en sais rien alors
    Répond à Seb. :p

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut Re Seb
    Bonjour Séb

    Es-tu sûr du binaire de l'image ? Oui
    As-tu testé un autre navigateur ? Ie et FirefoxEt si tu rajoutais une en-tête Content-Length ? ça ne marche pas mieux

    Merci tout de même...

    Yann

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    Bonjour Freyja


    malheureusement, ça ne fonctionne toujours pas...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut Je suis sur une piste
    ça viendrait de la taille de la photo

    En effet, pour une image à 30 Ko, ça fonctionne mais pas pour une image à 64 ko.
    Comment puis-je y remédier sachant qu'à ce stade de développement je n'ai aucune restriction de taille ?


    Serait-ce par défaut dans Mysql avec le type Blob ?

    Merci

    Yann

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut J'ai trouvé
    En changeant :

    Bolob en MEDIUMBLOB car MediumBlob accepte des images jusqu'à 16 Mo .


    Merci Tout de même

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

Discussions similaires

  1. [XL-2007] Remplissage conditionnel d'une combobox sur une partie seulement de la base
    Par csempere dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/06/2010, 15h52
  2. Réponses: 2
    Dernier message: 26/04/2010, 16h36
  3. Mettre en cache une partie seulement de la requête
    Par Feng-Huang dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/05/2009, 00h30
  4. Une partie de mon site ne s'affiche plus sur IE
    Par dariozz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/01/2009, 13h02
  5. Réponses: 14
    Dernier message: 26/03/2007, 17h52

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