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 :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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");
2) Un fichier texte :
En faisant un print_r les 2 méthodes me génères bien un tableau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $Urls = explode("\n", file_get_contents('rss.txt'));
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.Array
(
[0] => http://rss.lemonde.fr/c/205/f/3050/index.rss
[1] => http://com.clubic.feedsportal.com/c/...1979/index.rss
[2] => http://com.clubic.feedsportal.com/c/...1992/index.rss
)
Array
(
[0] => http://rss.lemonde.fr/c/205/f/3050/index.rss
[1] => http://com.clubic.feedsportal.com/c/...1979/index.rss
[2] => http://com.clubic.feedsportal.com/c/...1992/index.rss
)
Je ne comprends absolument pas pourquoi, si vous avez une idée, merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Ci-dessous le code PHP complet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Partager