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 :

[DOM XML] Créer une image à partir d'un flux XML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut [DOM XML] Créer une image à partir d'un flux XML
    Bonjour à toutes et à tous!

    J'espère que vous allez bien .

    Le contexte:
    J'importe des données via un fichier XML concernant des éléments illustrés par des photos [exemple fictif: Liste d'équipe et de joueurs de football avec la photo de l'équipe et des joueurs en individuel]. Les photos sont stocké directement dans le XML via ce que j'appel le "flux image" (du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <Attribut Nom="Photo_Flux" Type="bin.base64" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">/9j/4AAQSkZJRgABAQEAyADIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQY
    GBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYa
    KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAAR
    CAE2AYoDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA
    AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK
    FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG
    h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl
    5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA
    AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYk
    NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
    hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk
    [...]
    </Attribut>
    ).

    Ma problématique:
    Lors du traitement du XML pour importer les infos nottament en base de données, j'aimerais recréer les images "physique" qui correspondent à ces flux. Cad les fichier .jpg (ou autres... comment le savoir?) concernés. Et ce via PHP... comment faire? Je n'ai rien trouvé à ce sujet [je dis bien "rien trouvé" et non "rien n'éxiste" ].

    Merci d'avance pour vos éléments de réponse!

  2. #2
    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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 2 022
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    tu peux utiliser imagecreatefromstring() si tu as GD http://www.php.net/manual/fr/functio...fromstring.php

    Tu peux également enregistrer la variable contenant l'image dans un fichier, fopen, fwrite, flclose, ensuite tu utilise getimagesize() sur le fichier créé pour avoir le type d'image, puis tu renommes le fichier en ajoutant l'extension.

    Tu devras peut-être effectuer une conversion ASCII => binaire

    Bye
    Vive les roues en pierre

  4. #4
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut
    Merci pour ces précisions ^^!

    Une fois de plus je note tout de même que le "niveau" de l'utilisateur ne fait pas la qualité du POST .
    Puisqu'effectivement je sais écrire un fichier, ce que je voulais savoir c'est si il était nécessaire de rajouter des en-têtes spécifiques à ce fichier ou autre données non-contenues dans le flux lui même .

    Merci!

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

    Informations forums :
    Inscription : Février 2005
    Messages : 2 022
    Points : 2 273
    Points
    2 273
    Par défaut
    T'auras peut-être besoin de ca aussi : base64_ decode() ^^
    Vive les roues en pierre

  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 Just
    Puisqu'effectivement je sais écrire un fichier, ce que je voulais savoir c'est si il était nécessaire de rajouter des en-têtes spécifiques à ce fichier ou autre données non-contenues dans le flux lui même .
    Je dirais à priori non.
    Mais sais tu ce que tu recois ? .gif, .png, ... ?
    Sais-tu comment le flux a été généré ?
    Est-ce qu'il y a une doc qui t'explique comment traiter le contenu ?

  7. #7
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut
    Ha !
    Voilà une réponse plus fournit . Et je t'en remerci Mr N. .

    Et bien, ce sont des points essentiels que tu soulèves là. Le flux en question est généré par ,un progiciel de gestion à l'élaboration douteuse... la doc technique jointe est totalement incomplète. Donc peu de réponse fournit par l'éditeur :/.
    Mais à vue de nez, je dirais que c'est très certainement du JPeG.

    Je pense que le mieux à présent est de faire des tests, ce à quoi je vais m'attacher dans les jours à venir. Les éléments que vous m'avez apportez me fournissent déjà une base solide et je vous en remerci .

    Je ne manquerais pas de vous donner un feedback, qui j'espère, serat des plus positifs ^^!

  8. #8
    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 Just
    Voilà une réponse plus fournit . Et je t'en remerci Mr N. .
    Désolé si ma première réponse t'a paru trop concise mais ton sujet initial laissait comprendre que tu ne savais pas créer un fichier...

    Donc pour completer :
    http://php.net/fopen
    http://php.net/fwrite + http://php.net/base64_decode
    http://php.net/fclose
    Toussa dans un fichier temporaire + http://php.net/mime_content_type pour connaitre le type de fichier ou alors se baser sur gd comme précisé précédemment.

  9. #9
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut
    C'est pas faux .

    Je fait les tests immédiatement et vous donnes le feedback sur la lancé .

  10. #10
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut
    Ca marche IMPECCABLE!

    J'me permet de poster le petit bou de code, pour les personnes éventuellement intéressées.

    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
    <?
    $nomImage = 'notreImage.jpg';
    $fluxImage = 'votreFluxBase64';
     
    @unlink($nomImage);
    $fichierImage = fopen($nomImage,'w+');
    fwrite($fichierImage,base64_decode($fluxImage));
    fclose($fichierImage);
     
    $infosImage = getimagesize($nomImage);
    ?>
    <html>
    	<body>
    		<img align="left" src="<? echo $nomImage; ?>" />
    		<p>
    			<? print_r($infosImage); ?>
    		</p>
    	</body>
    </html>
    Merci à Mr N. et Djakisback pour leurs aides!

    Bonne continuation à tous . J'm'en vais fouiller dans les tuto' XML pour le reste .

  11. #11
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut
    Pas moyen de trouver un bon tutaux pour lire du XML en PHP4 :/.

    Je sais qu'il faut passer par DOM [concept que je connais "bien"].

    Siouplait ?

  12. #12
    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
    Cadeau:
    http://php.net/dom

    C'est fou ce qu'elle est bien faite cette doc php

  13. #13
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut
    Nia Nia Nia!

    J'bossais dessus justement .

    Par contre qu'on méclaire: j'ai lu sur certains POST que DOM comme SimpleXML était réservé à PHP5... ce n'est donc pas le cas?
    Là j'ai commencé à bosser avec DOMXML... pas bien?

    EDIT: sans vouloir être méchant... j'ai vérifier si il y a avait un extension DOM à chargé dans PHP... visiblement nan... j'ai bien ajouter l'extension DOMXML en revanche. J'utilise la version 4.3.0 de PHP... et de là: rien ne marche au niveau DOM ^^... :'(. Conseil empoisonné ?

    EDIT2: d'après ce que j'ai pu lire dans cette si merveilleuse doc PHP [ironique mais non moins vrai], c'est bien ce que je pensais -> DOM = PHP5, DOM XML = PHP4. Donc je ne peux me servir de DOM :/. En attendant PHP5 sur mes serveurs . je m'en retourne donc vers DOM XML... qui semble certes bien moins pratique :/.

  14. #14
    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 Just
    je m'en retourne donc vers DOM XML... qui semble certes bien moins pratique
    En effet. L'inverse (php5 moins pratique que php4) aurait été surprenant

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

Discussions similaires

  1. [SWT] Créer une image à partir d'un composite
    Par Jibouze70 dans le forum SWT/JFace
    Réponses: 9
    Dernier message: 05/04/2011, 17h08
  2. [GD] Comment créer une image à partir d'un texte ?
    Par Alexandrebox dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 11/02/2008, 04h33
  3. Créer une image à partir d'une scène
    Par ludollu dans le forum Ogre
    Réponses: 4
    Dernier message: 22/06/2007, 14h32
  4. Créer une image à partir d'un fenêtre
    Par dword2add dans le forum Windows
    Réponses: 6
    Dernier message: 19/09/2006, 12h46
  5. Créer une image à partir d'une URL ?
    Par DrySs dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2006, 09h39

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