WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
PHP
【PHP】CSVを読み取ってページに表示
Webサイト内にCSVファイルを読み取ってコンテンツを表示する方法をご紹介します。
お知らせや事例紹介など同じレイアウトで繰り返し表示させたい時に適しています。
準備
1.CSVファイルの作成
xlsxやGoogleスプレッドシートなどでcsvファイルを作成します。
作成したものをサーバーにアップロードします。
2.CSVファイルを読み込む
csvファイルを読み込んで1行ずつ表示する例です。
<?php
// CSVファイルを読み込む
$f = fopen("https://exmple.com/sample.csv", "r");
// ループ回数をカウント
$count = 0;
//枠
echo '<div class="post">';
// 1行ずつ配列にする
while($line = fgetcsv($f)) { //繰り返す
if ($count > 0) { //csvの1行目は表示しない
echo '<article class="'.$count.'">';
for ($i=0;$i<count($line);$i++) {
if ($i == 0) { //A列
echo '<div>';
echo $line[$i];
echo '</div>';
}
if ($i == 1) { //B列
echo '<div>';
echo $line[$i];
echo '</div>';
}
if ($i == 2) { //C列
echo '<div>';
echo $line[$i];
echo '</div>';
}
if ($i == 3) { //D列
echo '<div>';
echo $line[$i];
echo '</div>';
}
if ($i == 4) { //E列
echo '<div>';
echo $line[$i];
echo '</div>';
}
}
echo '</article>';
$count++;
}
}
echo '</div>';
// CSVファイルを閉じる
fclose($f);
?>
解説
csvのアップロード先にあわせてURLを変更します。
// CSVファイルを読み込む
$f = fopen("https://exmple.com/sample.csv", "r");
A列からE列順に0〜4の数字が割り当てられるようにしています。
一部だけhtmlタグやclassを変えて見た目変えたい時はif文で分けて記述します。
if ($i == 0) { //A列
echo '<div>';
echo $line[$i];
echo '</div>';
}
if ($i == 1) { //B列
echo '<div class="custom_class">';
echo $line[$i];
echo '</div>';
}