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>
どうか、お知恵をお貸しください、よろしくお願いします。
お礼
yambejp様 ご回答いただきありがとうございます。 通常のTextファイルはちゃんと表示されました。 実は、include時のファイル名の大文字小文字が違っており、 それを直したら、正常にコンストラクタが評価されました。 私の単純ミス・・・?? ただ、テキストファイルは大文字・小文字の違いでエラーになったのに、 phpファイルはエラーにならなかったんです。 今までのLAMP環境での案件においても、大文字・小文字が違っていても、 エラーにはならなかったような薄い記憶が・・・。アルツかしら??