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 :

champ image depuis un sql Server [SQL-Server]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 34
    Points : 29
    Points
    29
    Par défaut champ image depuis un sql Server
    Bonsoir à tous,

    Je m'arrache les cheveux pour afficher des images en PHP depuis un champ Image Sur un serveur SQL.
    Désolé c'est sale mais c'est une contrainte client.

    Première question quel est le type du champ image ?
    Binaire ?
    Propriétaire ?

    En fait j'affiche l'image via mssql_query() mais seule une partie de l'image s'affiche. L'image est donc tronquée. J'ai essayé de crééer un fichier avec le flux récupéré mais là encore je n'ai pas la totalité de l'image.

    Ma méthode.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="getImage.php" />
    Avec getimage.php qui récupère le champ Image en BD et fait un echo du flux avec un header('Content-Type: image);.

    Avez-vous des pistes pour résoudre ce problème ou bien des pistes pour l'utilisation d'un "driver" plus performant pour le couple php/sql Serveur.

    Faut-il convertir le flux avant de faire l'echo ?

    j'y perds moi même mon latin. ça fait 6 ans que je n'avais pas attaqué un sql. et c'est la première fois depuis 12 ans de dev web que je vais chercher des images stockées en BD !!!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le fait que l'image soit incomplète laisserait penser que le champ dans lequel tu stockes l'image n'a pas la taille suffisante.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Ou si ce n'est pas cela il faudrait peut-être mettre un header plus complet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-Type: image/jpeg");

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 34
    Points : 29
    Points
    29
    Par défaut oui mais non...
    J'ai aussi pensé que le champ sql était foireux mais cette base est attaquée en local par ebp et ebp remonte bien les images !!!

    En ce qui concerne le header, j'ai essayé image/jpg, image/png...etc. mais rien ne marche.

    J'en perds mon latin.

    Peut-être un problème de conf, de donnée trop importante (50ko l'image) ou nature du flux non reconnu ????

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 34
    Points : 29
    Points
    29
    Par défaut Résolu
    Pour ceux que ça intéresse le problème est résolu.

    Il est du à la limitation du volume de données accepté dans le php.ini.
    Donc :
    mssql.textlimit = 2147483647 (au lieu de 4096)
    mssql.textsize = 2147483647 (au lieu de 4096)
    Comme ça si vous avez des champs binaires type image "énorme", la totalité sera remonté dans les limites définies ci-dessus.

    Voilà. Je ne sais pas comment marqué le post comme résolu !

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

Discussions similaires

  1. Execution de SQL Server depuis autre SQL SERVER
    Par Rudolf dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 18/01/2008, 16h52
  2. Réplication données depuis Base SQL Server vers Base MYSQL
    Par elspliffo dans le forum Réplications
    Réponses: 2
    Dernier message: 27/09/2007, 14h02
  3. Récupérer une image à partir de SQL server
    Par programmationc dans le forum Accès aux données
    Réponses: 5
    Dernier message: 19/02/2007, 13h48
  4. BUG: champ date refusé par SQL Server
    Par cortex024 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 06/02/2007, 16h18
  5. Réponses: 1
    Dernier message: 03/01/2006, 17h46

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