Bonjour,

voila mon problème: je voudrai installer le dewplayer-playlist sur mon site, mais j'ai besoin de mettre du code php dans la playliste, pour récupérer les titres des morceaux qui sont dans une base de donnée MySQL et aussi parce que les mp3 changent toute les semaines, donc le nom du doc est de la forme: <?php echo date(W); ?>nomdudoc.mp3

ça marche très bien si j'utilise le dewplayer simple, puisque le code est dans un document php, mais lorsque je met du php dans le document playlist.xml plus rien ne fonctionne.

Quelqu'un peut m'aider?
Salut,

Met le fichier dans un document php qui va retourner un code xml. Donc playlist.xml devient playlist.php.
Par contre je ne sais pas si dewplayer aime bien l'extension .php ^^.
Merci de ta réponse, mais s'il s'agit simplement de renommer le doc playlist.xml en playsit.php j'ai déjà essayé, ça ne marche pas (ou alors je m suis planté quelque part mais je ne vois pas où...)
Bonjour,

Tu ne peux pas simplement générer le fichier.xml avec php?
Tu le re-génères à chaque changement dans ta base de données ou avec une crontab.
Belkira a écrit :
Bonjour,

Tu ne peux pas simplement générer le fichier.xml avec php?
Tu le re-génères à chaque changement dans ta base de données ou avec une crontab.


+1 Smiley smile
Belkira a écrit :
Bonjour,

Tu ne peux pas simplement générer le fichier.xml avec php?
Tu le re-génères à chaque changement dans ta base de données ou avec une crontab.


+1 pour cette solution.

Sinon deux solutions s'offrent à toi.

1. Si tu as la possibilité de configurer le serveur apache, tu peux définir les types de fichiers qui doivent être interprétés par php. A défaut, les fichier php et html sont traités. Penche toi sur le fichier httpd.conf (ou apache2.conf pour Apache 2.0+)

2. Tu créer un fichier php dans le quel tu concatène tes lignes xml dans un variable php. Et ensuite avant d'imprimer le contenu de cette variable, tu redéfini l'en tête http de la page.

exemple:


$xml = "<xml version='1.0'>";
$xml .= "<root>";
$xml .= "...";
$xml .= "<root>";
$xml .= "</xml>";

Header("content-type: application/xml");

echo $xml;


Voilà! En espérant que cela pourra t'aider!

ZuG'
Belkira a écrit :
Bonjour,

Tu ne peux pas simplement générer le fichier.xml avec php?
Tu le re-génères à chaque changement dans ta base de données ou avec une crontab.



Tu peux m'expliquer comment on fait comme si j'avais 6 ans et aucune connaissance en php stp? Et comme si je voyais le mot crontab pour la première fois de ma vie Smiley confused
Je n'ai pas énormément de temps donc je vais te donner de quoi t'aider, en espérant que ce soit suffisent.

Dans un premier temps, tu génères ton fichier .xml avec php, en utilisant par exemple la fonction fwrite()
http://www.php.net/manual/en/function.fwrite.php

donc en gros, tu fais comme ça (il faut aussi penser à supprimer le fichier.xml s'il existe déjà (pour ça tu peux utiliser unlink() )) :


<?php

$content = '<xml ...'>;
...
$content .='</xml>';

$fp = fopen('data.xml', 'w');
fwrite($fp, $content);
fclose($fp);
?>


Pour la crontab, il s'agit d'un fichier permettant de de planifier des tâches.
Par exemple : relancer la génération de ton fichier.xml toute les heures.

Donc pour la crontab tu vois ça dans ton interface d'admin sinon tu as des sites qui te le propose :
http://www.onlinecron.com/
http://www.webcron.org/

nb : Je n'ai jamais utilisé ces sites donc je ne sais pas ce qu'ils valent.

Sinon, si tu ne veux/peux pas utiliser de tâches cron, tu peux appeler le script générant ton xml des que tu mets à jour ta base de données.

En espérant avoir pu t'aider.

Bon courage Smiley smile
Merci de ta réponse. A première vue je n'y comprends rien du tout, mais je vais essayer de plancher sur le sujet pour m'en sortir.
Salut, pour ma part j'ai créer une fonction PHP qui recréer dynamiquement ma playlist via ma base de données.
Pour créer le fichier playlist.xml, je passe par DOM !

Un petit exemple de code pour t'aider, voici les grandes "lignes" pour créer le fichiers :
(Il me semble que PHP5 est requit)

	$doc = new DomDocument();
	
	$playlist = $doc->createElement('playlist');
	$doc->appendChild($playlist);
	$titrePL = $doc->createElement('title');
	$playlist->appendChild($titrePL);
	$creator = $doc->createElement('creator');
	$playlist->appendChild($creator);

	$val_title = $doc->createTextNode('Playlist XXX');
	$titrePL->appendChild($val_title);
	$val_creator = $doc->createTextNode('XXX Group');
	$creator->appendChild($val_creator);

	$tracklist = $doc->createElement('trackList');
	$playlist->appendChild($tracklist);  

// Requete SQL permettant de selectionner les chansons a inserer dans le fichier xml
        $result = $db->query("select * from...");
	while($result && $result->suivant()){
		$track = $doc->createElement('track');
		$tracklist->appendChild($track);
//... Tous les autres champs...
		$val_location = $doc->createTextNode($result->get('file')); //Ici le path
		$location->appendChild($val_location);
//... Toutes les autres valeurs des champs: albums, etc..
	}

	$doc->save("playlist.xml");
	$doc->saveXML();



En esperant t'avoir aider
Tu peux me contacter par mail si tu a des difficulter.
Je pourrais t'envoyer la fonction complète que j'ai créer pour le fichier XML.
MiniFlea a écrit :
Tu peux me contacter par mail si tu a des difficulter.
Je pourrais t'envoyer la fonction complète que j'ai créer pour le fichier XML.


Bien volontiers, merci. Tu peux m'envoyer ça sur stp? Ca me permettra de progresser beaucoup plus vite. Smiley cligne
Modifié par macom84600 (10 Mar 2010 - 23:11)
Si tu ne veux pas recevoir un millier de spams je t'invite à renseigner plutôt le champ email de ton profil que de laisser ton adresse en clair ! Smiley cligne
Tu as raison, j'ai supprimé l'adresse de message! et encore merci pour le coup de main, je jetterai un œil demain.