darwenn Posté(e) 15 octobre 2012 Signaler Share Posté(e) 15 octobre 2012 Bonjour, j'ai fait le tour de tout ce que j'ai pu trouver sur le net mais rien ne semble fonctionner.Voila je cherche à récuperer et afficher sur mon site le contenu du titre diffusé en stream icecastmon serveur est herbergé ailleurs, donc je n'ai pas accés aux fichiers xsl de icecast, sauf pour la visualisation classique du fichiers statuts.xsl par exemple ( titre en cours, auditeurs etc ..) et je voudrai récuperer ces infos dans un script sur mon site pour mettre à jour le titre en cours à chaque fois.J'ai trouvé des scripts qui le font, mais soit ils ne fonctionnent pas, soit ils sont devenus obsolètes ( 2005 à 2008 ).mon serveur est un icecast2pouvez vous m'aider ?merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
darwenn Posté(e) 17 octobre 2012 Auteur Signaler Share Posté(e) 17 octobre 2012 J'ai testé le script de caramaniaca, ça fonctionne en effet, mais comme le script est herbergé on ne peut pas travailler avec l'information reçue; on ne peut juste que l'afficher.Comme je suis certain que cela servira à d'autres, voila un script qui fonctionne trés bien sur un serveur icecast 2<?php/* * SCRIPT CONFIGURATIONS*/$SERVER = 'http://adresse_serveur_icecast.com:port; //URL TO YOUR ICECAST SERVER Ex : http://webradio.com:9000$STATS_FILE = '/status.xsl'; //PATH TO STATUS.XSL PAGE YOU CAN SEE IN YOUR BROWSER (LEAVE BLANK UNLESS DIFFERENT)///////////////////// END OF CONFIGURATION --- DO NOT EDIT BELOW THIS LINE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//create a new curl resource$ch = curl_init();//set urlcurl_setopt($ch,CURLOPT_URL,$SERVER.$STATS_FILE);//return as a stringcurl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//$output = our stauts.xsl file$output = curl_exec($ch);//close curl resource to free up system resourcescurl_close($ch);//build array to store our radio stats for later use$radio_info = array();$radio_info['server'] = $SERVER;$radio_info['title'] = '';$radio_info['description'] = '';$radio_info['content_type'] = '';$radio_info['mount_start'] = '';$radio_info['bit_rate'] = '';$radio_info['listeners'] = '';$radio_info['most_listeners'] = '';$radio_info['genre'] = '';$radio_info['url'] = '';$radio_info['now_playing'] = array();$radio_info['now_playing']['artist'] = '';$radio_info['now_playing']['track'] = '';//loop through $ouput and sort into our different arrays$temp_array = array();$search_for = "<td\s[^>]*class=\"streamdata\">(.*)<\/td>";$search_td = array('<td class="streamdata">','</td>');if(preg_match_all("/$search_for/siU",$output,$matches)) { foreach($matches[0] as $match) { $to_push = str_replace($search_td,'',$match); $to_push = trim($to_push); array_push($temp_array,$to_push); }}//sort our temp array into our ral array$radio_info['title'] = $temp_array[0];$radio_info['description'] = $temp_array[1];$radio_info['content_type'] = $temp_array[2];$radio_info['mount_start'] = $temp_array[3];$radio_info['bit_rate'] = $temp_array[4];$radio_info['listeners'] = $temp_array[5];$radio_info['most_listeners'] = $temp_array[6];$radio_info['genre'] = $temp_array[7];$radio_info['url'] = $temp_array[8];$radio_info['current_song'] = $temp_array[9];$x = explode(" - ",$temp_array[9]);$radio_info['now_playing']['artist'] = $x[0];$radio_info['now_playing']['track'] = $x[1];$auditeurs=$radio_info['listeners'];$nom_radio=$radio_info['title'];$description=$radio_info['description'];$current_song=$radio_info['current_song'];echo "auditeurs = $auditeurs";echo"<br>";echo "nom radio = $nom_radio";echo"<br>";echo "description= $description";echo"<br>";echo "titre en cours = $current_song";echo"<br>";?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.