Bonjour,
je souhaite implémenter une application Flash de visite virtuelle dans un module.
Cette appli dispose d'un fichier de configuration XML dans lequel on indique le chemin des images à afficher.
Le module que j'ai codé récupère un identifiant du spot à visiter (récupéré par la méthode $_GET dans l'url) et regarde dans la base de données quels chemin d'images correspondent à cet identifiant.
A ce moment là, je souhaite créer OU remplacer le fichier config.xml en indiquant dans les balises les chemins d'images récupérés dans la base de données, afin que chaque spot ait ses propres images.
Pour le créer j'ai fait ceci :
Au début je voulais simplement utiliser un file_put_contents(config.xml,$xml) mais ça ne marchait pas, je suis donc parti sur du code un peu plus long (on vérifie si le fichier config.xml existe, si c'est le cas on le vide avec ftruncate et on le ferme, ensuite, on écrit le xml dedans).
Le problème c'est que la génération du fichier ne semble pas marcher non plus, j'ai testé rapidement cela en dehors de joomla et ça marchait plutôt bien, mais ici le fichier n'est pas crée.
J'ai vérifié les autorisations du répertoire de mon module et j'ai tous les droits pour tous les utilisateurs, PHP ne devrait donc pas être bloqué à ce niveau là.
J'ai activé le mode debug (affichage des erreurs/avertissements), mais rien de probant de ce côté là non plus.
J'aimerai savoir si il y a quelque chose à configurer du côté de Joomla ou si cela vient d'autre chose ? Car c'est réellement embêtant de ne pas pouvoir générer ce fichier !
En vous remerciant d'avance pour votre réponse,
Magicorange
je souhaite implémenter une application Flash de visite virtuelle dans un module.
Cette appli dispose d'un fichier de configuration XML dans lequel on indique le chemin des images à afficher.
Le module que j'ai codé récupère un identifiant du spot à visiter (récupéré par la méthode $_GET dans l'url) et regarde dans la base de données quels chemin d'images correspondent à cet identifiant.
A ce moment là, je souhaite créer OU remplacer le fichier config.xml en indiquant dans les balises les chemins d'images récupérés dans la base de données, afin que chaque spot ait ses propres images.
Pour le créer j'ai fait ceci :
Code:
if(isset($_GET['idvis'])) //identifiant du spot que l'on souhaite visité, passé en URL { $id_visite = $_GET['idvis']; $database =& JFactory::getDBO(); $query = "SELECT nom, imageLeft,imageFront,imageRight,imageTop,imageBottom,imageBack". "\n FROM dig_visites "."WHERE dig_visites.id ='".$id_visite."' "; $database->setQuery( $query ); // execution de la requête $rows = $database->loadObjectList(); // récupération des objets $count = count($rows); if($count > 0) { foreach($rows as $row) { $xml = '<?xml version="1.0"?>\r\n'; $xml .= '<panorama>\r\n'; $xml .= '<projection type="cubique" showStats="false"/>\r\n'; $xml .= ' <imageCubique front="'.$row->imageFront .'" left="'.$row->imageLeft .'" back="'.$row->imageBack .'" right="'.$row->imageRight .'" top="'.$row->imageTop .'" bottom="'.$row->imageBottom .'" />\r\n'; $xml .= '<camera cameraSpeed="100" angleMax="148" angleMin="36" defaultFOV="45" zoomStep="10" brakingTime="500"/>\r\n'; $xml .= '</panorama>'; $config = 'config.xml'; if(file_exists($config)) //si le fichier config existe déja on l'efface { $file = fopen($config,'r+'); ftruncate($config,0); fclose($file); } $file = fopen($config,'w'); //dans tous les cas on écrit le xml dedans fwrite($file,$xml); fclose($file); //Du code HTML pour intégrer un object flash //...
Le problème c'est que la génération du fichier ne semble pas marcher non plus, j'ai testé rapidement cela en dehors de joomla et ça marchait plutôt bien, mais ici le fichier n'est pas crée.
J'ai vérifié les autorisations du répertoire de mon module et j'ai tous les droits pour tous les utilisateurs, PHP ne devrait donc pas être bloqué à ce niveau là.
J'ai activé le mode debug (affichage des erreurs/avertissements), mais rien de probant de ce côté là non plus.
J'aimerai savoir si il y a quelque chose à configurer du côté de Joomla ou si cela vient d'autre chose ? Car c'est réellement embêtant de ne pas pouvoir générer ce fichier !
En vous remerciant d'avance pour votre réponse,
Magicorange
Commentaire