•  » Utilisation
  •  » Générer un fichier XML pour Webservice

#1 2008-01-28 07:11:51

mtgt
Membre
monde
1970-01-01
224

Générer un fichier XML pour Webservice

Bonjour,

J'essaye de générer un fichier XML pour alimenter une anim flash à partir de l'exemple de VDigital.

Le code fonctionne correctement, je rencontre juste apparemment un problème d'enregistrement !!

Je m'explique :
Le fichier XML est bien générer mais lorsque j'essaye de l'ouvrir il y une erreur.
En revanche lorsque je l'importe en local et que je le ré-enregistre localement(sans rien toucher), il fonctionne!!!
Ce qui me fait dire qu'il y a surement un souci lors de l'enregistrement du XML au niveau du serveur, donc surement dans le code.

Y'a t'il une astuce à savoir?

voici le code:

Code:

<?php
// initialisation de la session
$session = curl_init(); /* (a) */
 
// configuration des options
/* (b) */
curl_setopt($session, CURLOPT_URL, "http://www.voyage-australie-nz.com/galerie/ws.php?method=pwg.categories.getImages&partner=XXXXXXXXXX&format=php&recursive=true&f_min_ratio=1.2&f_with_thumbnail=true&per_page=10&page=1&last=2008-01-11");

curl_setopt($session, CURLOPT_HEADER, 0);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
 
// exécution de la session
$response = curl_exec($session); /* Ici nous réceptionnons le tableau sérialisé de la requête (c) */
$thumbc = unserialize($response);/* que nous "désérialisons" (d) */
 
curl_close($session); /* fermeture des ressources (e) */
 
if ($thumbc["stat"]=='ok') /* Réponse correcte ? (f) */
    $file= fopen("extrait.xml", "w+");
      $_xml ="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n";
      $_xml .="<icons>\r\n";
 {
  for ($i=0;$i<$thumbc["result"]["images"]["count"];$i++) /* (g) */
   {
    $picture = $thumbc["result"]["images"]["_content"][$i]; /* (h) */
 


   
            $_xml .= "<icon ";
      $_xml .= "image=\"".$picture['tn_url']."\" ";
      $_xml .= "action=\"/index.php?page=phototheque\" ";
      $_xml .= "target=\""._self."\" ";
      $_xml .= "titre=\"".$picture['name']."\" ";
      $_xml .= "desc=\"".$picture['comment']."\"/>";
  }
  $_xml .="</icons>";
        fwrite($file, $_xml); fclose($file);
            echo "Le fichier XML a etait créé <a href=\"extrait.xml\" target=\"_blank\">Show source :).</a>"; 
  }
?>

Dernière modification par mtgt (2008-01-30 04:04:08)

Hors ligne

#2 2008-01-30 04:10:19

mtgt
Membre
monde
1970-01-01
224

Re: Générer un fichier XML pour Webservice

Apparemment, ça n'a inspiré personne!

Je n'ai pas trouvé la solution pour mon histoire d'ouverture du fichier en locale, j'ai toujours l'erreur.
Mais apparement le flash arrive à l'ouvrir correctement.

Résultat une anim flash dans une autre page ou autre site pouvant afficher les photos provenant de PWG.
Voilà le résultat http://www.voyage-australie-nz.com

Ce ne sont pas encore les dernière photo mais ça c'est l'étape suivante !!!

le flash provient dublog de yaëlle http://www.yaelle.com

Dernière modification par mtgt (2008-01-30 04:18:52)

Hors ligne

#3 2008-01-30 12:25:55

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Générer un fichier XML pour Webservice

Le problème n'est pas "ça n'a inspiré personne!".

Bien au contraire, je suis très interressé mais je souhaiterai avoir plus simple.
J'explique.

Tu fabriques un fichier xml mais les services web génèrent du xml également.
Il faudrait que la partie Javascript appelle directement nos services web et retrouve ses balises (ou mieux utilise les notres).
Tout cela mérite réflexion mais le résultat sur une galerie ou sur une page externe est redoutablement génial et brillant.

8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#4 2008-01-30 13:22:48

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Générer un fichier XML pour Webservice

Après lecture des modules, je crois que tu ne devrais pas écrire un fichier extrait.xml lors de chaque accès à ta page, mais une fois par jour lors du premier accès après 4h30 du matin ou autre accès.
Pour le reste, peu ou prou, les fichiers .swf attendent ces balises et attrubuts dans le fichier XML.

8-)

PS: (Le fichier XML a etait : "a été" m'ira très bien).


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#5 2008-01-30 14:32:58

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Générer un fichier XML pour Webservice

$_xml ='<' . '?xml version="1.0" encoding="utf-8" ?'. ">\r\n";
.../...
      $_xml .= 'desc="' . $picture['comment'] . '"/>' . "\r\n";


Résultat identique mais plus facile à lire.
8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#6 2008-01-31 10:14:47

mtgt
Membre
monde
1970-01-01
224

Re: Générer un fichier XML pour Webservice

Merci pour les commentaires et les remarques pour la lisibilité du code. Ainsi que pour mon orthographe qui bat de 'aile :°

En ce qui concerne la génération du xml, je trouvais ça sympa que chaque visiteur puisse avoir des photos différentes.
Mais pour la version définitive ça devra être les dernières photos ajoutées. Je sais que c'est un autre sujet, que j'ai ouvert ailleurs mais tout est lié.

N'étant pas un as du code, ça risque d'être un peu long!!
Un coup de main serait bienvenue !

Pour ce qui est de récupérer directement les données XML générés par les services web existant, il est vrai que cela aurait été bien, mais c'était un peu complexe pour moi !
C'est pour ça que j'ai choisi de partir du fichier que tu as fait pourle wiki.

Merci encore pour l'aide apporté pour l'ensemble de mes questions!

Edit: url= pour que l'url soit correcte

Dernière modification par mathiasm (2008-01-31 23:23:18)

Hors ligne

#7 2009-04-22 01:07:34

mtgt
Membre
monde
1970-01-01
224

Re: Générer un fichier XML pour Webservice

Bonjour,

Je  ré-ouvre le sujet car depuis mon passage à PIWIGO, plus rien ne s'affiche sur mon site.
J'utilise à peu près le même script que celui utilisé au début de ce post.!

Code:

<?php
// initialisation de la session
$session = curl_init(); /* (a) */
 
// configuration des options
/* (b) */
curl_setopt($session, CURLOPT_URL, "http://galerie.voyage-australie-nz.com/ws.php?method=pwg.categories.getImages&partner=******120pgdts8&format=php&recursive=true&order=random&f_min_ratio=1.2&f_with_thumbnail=true&per_page=1&page=1&f_min_date_available=2008-12-30");

curl_setopt($session, CURLOPT_HEADER, 0);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

// exécution de la session
$response = curl_exec($session); /* Ici nous réceptionnons le tableau sérialisé de la requête (c) */
$thumbc = unserialize($response);/* que nous "désérialisons" (d) */
 
curl_close($session); /* fermeture des ressources (e) */
 
if ($thumbc["stat"]=='ok') /* Réponse correcte ? (f) */
    $file= fopen("./media/anim/extrait.xml", 'w+');
      /*$_xml ="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n";*/
    $_xml ='<' . '?xml version="1.0" encoding="UTF-8" ?'. ">\r\n";

      $_xml .="<icons>\r\n";
 {
  for ($i=0;$i<$thumbc["result"]["images"]["count"];$i++) /* (g) */
   {
    $picture = $thumbc["result"]["images"]["_content"][$i]; /* (h) */
 
    // dans picture nous avons :  id, width, height, hit, file, name, comment, tn_url, element_url

    //$picture=utf8_encode($thumbc["result"]["images"]["_content"][$i]);

    $_xml .= "<icon ";
    $_xml .= "image=\"".$picture['tn_url']."\" ";
    $_xml .= "action=\"/galerie/picture.php?/". $picture['id']."\" ";
    $_xml .= "target=\"_self\" ";
    $_xml .= "titre=\"".$picture['name']."\" ";
    //$_xml .= "desc=\"".$picture['comment']."\"/>";
    $_xml .= 'desc="' . $picture['comment'] . '"/>' . "\r\n";
  }
  $_xml .="</icons>";
        fwrite($file, $_xml); fclose($file);
            //echo "Le fichier XML a etait créé <a href=\"./media/anim/extrait.xml\" target=\"_blank\">Show source :).</a>"; 
  }
?>

Je suppose que le système de webservice à changer.
Je n'ai pas retrouvé où générer une clé partenaire!

Où puis je trouver une info sur mon problème.

Merci d'avance pour votre aide

Greg

Hors ligne

  •  » Utilisation
  •  » Générer un fichier XML pour Webservice

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact