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:
<?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
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
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-)
Hors ligne
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).
Hors ligne
$_xml ='<' . '?xml version="1.0" encoding="utf-8" ?'. ">\r\n";
.../...
$_xml .= 'desc="' . $picture['comment'] . '"/>' . "\r\n";
Résultat identique mais plus facile à lire.
8-)
Hors ligne
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
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.!
<?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