Lecture flux RSS externes
Bonjour,
Je réalise actuellement un script qui permet de lire des flux rss sur une liste de sites externes et de les mettre en forme dans une seule page personnalisée, sur le même principe que ce site : http://www.phoenixjp.net/news/fr/
Ma liste des flux RSS à suivre est définie de 2 façons :
1) Un tableau dans mon code :
Code:
1 2
|
$Urls = array("http://rss.lemonde.fr/c/205/f/3050/index.rss","http://com.clubic.feedsportal.com/c/33464/f/581979/index.rss","http://com.clubic.feedsportal.com/c/33464/f/581992/index.rss"); |
ou
2) Un fichier texte :
Code:
1 2
|
$Urls = explode("\n", file_get_contents('rss.txt')); |
En faisant un print_r les 2 méthodes me génères bien un tableau :
Cependant en mettant mes urls dans un fichier texte rss.txt, j'ai un message d'erreur à l'affichage de la page, alors que en les mettant dans un array PHP array() ca fonctionne nickel.
Code:
1 2
|
Warning: file_get_contents(http://rss.lemonde.fr/c/205/f/3050/index.rss ): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad request in E:\WEB\Reftech\rss_php.php on line 53 |
Je ne comprends absolument pas pourquoi, si vous avez une idée, merci d'avance.
Ci-dessous le code PHP complet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="style_rss.css" rel="stylesheet" type="text/css" />
<title>RSS Reader</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
// Refresh Auto
$delai=5;
$RefreshUrl=$_SERVER['PHP_SELF'];
header("Refresh: $delai;Url=$RefreshUrl");
// METHODE OK
$Urls = array("http://rss.lemonde.fr/c/205/f/3050/index.rss","http://com.clubic.feedsportal.com/c/33464/f/581979/index.rss","http://com.clubic.feedsportal.com/c/33464/f/581992/index.rss");
echo "<pre>";
print_r($Urls);
echo "</pre>";
// METHODE NOK
$Urls = explode("\n", file_get_contents('rss.txt'));
echo "<pre>";
print_r($Urls);
echo "</pre>";
// PROXY
$opts = array
(
'http' => array (
'proxy'=>'tcp://127.0.0.0:8080',
'request_fulluri' => true
),
'https' => array (
'proxy'=>'tcp://127.0.0.0:8080',
'request_fulluri' => true
)
);
$stream = stream_context_create($opts);
// Traitement et affichage
Foreach ($Urls as $url_num => $url)
{
//echo $url_num."</br>";
echo $url."</br>";
// Récupération des données
$rss = file_get_contents($url,false,$stream);
$rss = simplexml_load_string($rss);
$count = 0;
if($rss)
{
echo '<table>';
//echo "<tr><td><h3><a href=".$url." Target= '_blank'>".$url."</a></h3></td></tr>";
echo '<tr><td>'.$rss->channel->title.' ('.$rss->channel->pubDate.')</td></tr>';
echo '<tr>';
echo '<td>';
$items = $rss->channel->item;
foreach($items as $item)
{
$count++;
If ($count == 6)
{
break;
}
$title = $item->title;
$link = $item->link;
$published_on = $item->pubDate;
$description = $item->description;
echo '<h3><a href="'.$link.' "Target= "_blank">'.$title.'</a></h3>';
//echo 'Span --> <span>('.$published_on.')</span>';
//echo 'Paragraph --> <p>'.$description.'</p>';
}
echo '</td>';
echo '</tr>';
echo '</table></br>';
}
}
?>
</body>
</html> |