Récupération depuis du RSS
Posté : 16 sept. 2010, 17:11
Bonjour tout le monde,
Disposant de plusieurs pages en PHP, je cherchais à ajouter pour l'une d'entre elles un bout de page récupérant une partie des données d'un RSS. C'est sur du réseau interne.
Petit détail du principe :
NB : la fonction ouvre() est pour gérer l'ajout des résultats dans un code HTML de tableau
Le problème est que que je tombe systématiquement sur ce résultat :
Pour info :
Ou peut-être qu'il vaut mieux complètement revoir tout ça ?
Disposant de plusieurs pages en PHP, je cherchais à ajouter pour l'une d'entre elles un bout de page récupérant une partie des données d'un RSS. C'est sur du réseau interne.
Petit détail du principe :
- une dizaines de machines sur le réseau en sont à mettre en ligne leurs petits RSS ; de ce côté je ne peux rien modifier, ce sont juste ces informations qui servent de source, pour être rattrapées par le PHP
- chacun des RSS est un XML avec peu de balises, ressemblant à ça :
Code : Tout sélectionner
<poste> <etat>Ok</etat> <stock>8</stock> <libre>12</libre> <option>AVEC</option> </poste> - les données à récupérer sont les chaînes de caractères de chaque ligne (état, stock, libre, option)
Code : Tout sélectionner
<?php
$nom[1]="Nom0";
$nom[2]="Nom1";
...
$nom[10]="Nom9";
function ouvre () {echo "<tr align=\"center\">";}
$num=1;
while($num<=10)
{
ouvre();
echo "<td>".$nom[$num]."</td>";
$parseurXML = xml_parser_create(); xml_set_character_data_handler($parseurXML, "fonctionTexte");
$fp=fopen("https://adresse.page.flux/getStatus?id=".$num,"r"); if(!$fp) die("<br /><br />Erreur : Fichier XML introuvable.");
// while($ligneXML=fgets($fp, 1024)) {
$ligneXML=fgets($fp, 1024); xml_parse($parseurXML,$ligneXML,feof($fp)) /*or die("Erreur XML")*/;
$ligneXML=fgets($fp, 1024); xml_parse($parseurXML,$ligneXML,feof($fp)) /*or die("Erreur XML")*/;
$ligneXML=fgets($fp, 1024); xml_parse($parseurXML,$ligneXML,feof($fp)) /*or die("Erreur XML")*/;
$ligneXML=fgets($fp, 1024); xml_parse($parseurXML,$ligneXML,feof($fp)) /*or die("Erreur XML")*/;
$ligneXML=fgets($fp, 1024); echo "<i>".xml_parse($parseurXML,$ligneXML,feof($fp))."</i>" /*or die("Erreur XML")*/;
// }
xml_parser_free($parseurXML); fclose($fp);
$num++; /* echo "<\\tr>"; */
}
?>Le problème est que que je tombe systématiquement sur ce résultat :
Code : Tout sélectionner
Warning: fopen(https://adresse.page.flux/getStatus?id=1) [function.fopen]: failed to open stream: No such file or directory in test-flux.php on line 84- l'adresse https://adresse.page.flux/getStatus?id=1 affiche bien la page RSS / XML
- la ligne 84 est celle concernant le fopen() qui lit le RSS
Ou peut-être qu'il vaut mieux complètement revoir tout ça ?