こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

PHPで外部ファイルから取り込んだデータを配列に

外部ファイルから取り込んだデータを、配列に代入したいと考えています。自分で試したのですが、どうしてもうまくいかないので詳しい方、どうかよろしくお願いします。

外部のdatファイルは3項目をカンマ区切りで記述してあり、その3項目の繰り返しになっています。そこで次のスクリプトを実行すると、echo結果は$aの列挙になります。
<?php
//ファイル名
$file_name = "ファイルのURL/××.dat";
//ファイルを読み取りモードで開く
$file = fopen($file_name, "r") or die("OPENエラー");
//ファイルをロックする
flock($file, LOCK_SH);

//出力
while (!feof($file)){
$string = fgets($file,1000);
list($a, $b, $c , $d) = explode(",", $string);
$d="$a".",";
echo "$d";
}
//ロックを開放する
flock($file, LOCK_UN);
//ファイルを閉じる
fclose($file);
?>

じつは、この$aの内容が、RSSフィードのURLになっており、次のスクリプトでRSSの更新情報を書き出すのですが、$dの中のカンマ区切りのデータを、次のスクリプトの●●●部分に取り込みたいのですが、どう記述すればよいのかわかりません。

<?php include_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed(array(
●●●
'URL1',
'URL2',
'URL3'
));
if (!is_wp_error( $rss ) ) :
$rss->set_cache_duration(1800);
$rss->init();
$maxitems = $rss->get_item_quantity(100);
$rss_items = $rss->get_items(0, $maxitems);
date_default_timezone_set('Asia/Tokyo');
endif;
?>
<!--出力-->
<ul style="height: 200px; margin: 10; padding: 0; overflow-y: scroll;"> <?php if ($maxitems == 0) echo '<li style="list-style: none;">No items.</li>>';
else
foreach ( $rss_items as $item ) : ?>
<li style="list-style: none; margin: 0; padding: 0;"><?php echo $item->get_date("Y-n-j"); ?> <a href='<?php echo $item->get_permalink(); ?>' target="_blank"><?php echo $item->get_title(); ?></a></li>
<?php endforeach; ?>
</ul>

どうか、お知恵をお貸しください、よろしくお願いします。

投稿日時 - 2012-05-08 20:34:35

QNo.7465161

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

CSV形式なのにfgetcsv()を何故使わないの?

投稿日時 - 2012-05-09 00:54:58

お礼

回答ありがとうございました。
>CSV形式なのにfgetcsv()を何故使わないの?
ファイルの拡張子が.datでもcsvが使えるとは知りませんでした。

改めて質問ですが、外部ファイルは「サイト名,URL,RSS」と3つの要素をひとまとまりとしてカンマ区切りでつらつらつらなっています。
サイト名,URL,RSS,サイト名,URL,RSS,サイト名,URL,RSS・・・こんな感じです。
このうち「RSS」だけを配列に組み込みたいと思っています。
list($a, $b, $c) = explode(",", $string);
でRSSを$cに代入してソレをさらに配列に組み込むのかなと考えたのですが、どうもよくわかりません。
ちなみに、下のRSSを組み込むスクリプトはワードプレスのサポートサイトで公開されていたもので、配列にそのままRSSフィードのURLを打ち込めば動作するのは確認できているのですが、手入力とファイルから取り込んだ変数を混在させたいと考えています。

どうかよろしくお願いします。

投稿日時 - 2012-05-09 21:43:02

あなたにオススメの質問