■
mb_language('Japanese'); require_once('magpierss/rss_fetch.inc'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); require_once 'magpierss/rss_fetch.inc'; // キャッシュは五分に設定 define("MAGPIE_CACHE_AGE", 60*5); // キャッシュ保存ディレクトリ指定 define("MAGPIE_CACHE_DIR", "cache/"); $rssurl = array(); $rssurl = @file("testdata.txt"); //複数のRSSをまとめる配列 $rssarray = array(); foreach($rssurl as $rurl) { //最初の空白を除去!これを入れないとエラー出るよ! $rurl = trim($rurl); $rss = fetch_rss($rurl); $blogtitle = $rss->channel['title']; foreach($rss->items as $item) { //記事タイトル $title = $item['title']; //記事URL $url = $item['link']; //記事更新日時 $date_timestamp = $item['date_timestamp']; $date = Date("[Y年m月d日]",$date_timestamp); $date; //記事内容 $naiyo = $item['description']; $naiyo; //表示用文字列セット $linkstr = "◆" . $blogtitle . "
"; $linkstr .= $date; $linkstr .= " " . $title . "
\n"; $linkstr .= $naiyo . "
\n"; //ソート用の配列に挿入(配列のキーはタイムスタンプ型の更新日時) $rssarray["{$date_timestamp}"]= $linkstr; } } //連想配列をキー(記事更新日時:タイムスタンプ型)で降順にソート krsort($rssarray); foreach($rssarray as $value) { print $value; }
ここで詰まった!!!
URLが山ほどありすぎるので、外部テキストファイルから取得しようとすると、エラー。
Warning: MagpieRSS: Failed to fetch ここにfeedのURL (HTTP Response: HTTP/1.1 404 ) in magpierss/rss_fetch.inc on line 238 Notice: Trying to get property of non-object in RSS.php on line 21 Notice: Trying to get property of non-object in RSS.php on line 22 Warning: Invalid argument supplied for foreach() in RSS.php on line 22
なかなか原因がつかめませんでしたが、原因はテキストファイルの空白でした。
とはいえ、手動ではどうにもならないので、
//最初の空白を除去!これを入れないとエラー出るよ! $rurl = trim($rurl);
この1行を追加。
全てまるくおさまりました〜〜♪