ポンクソフト

CSVファイルの読み込み - PHPでファイルの読み書き・掲示板

前ページ PHPでファイルの読み書き・掲示板 TOP 次ページ

目次

  1. PHPでファイルの読み書き・掲示板
  2. ファイルの読み込み
  3. ファイルの書き込み
  4. ファイルの読み書き(ゲストブック)
  5. 設定ファイルの読み書き
  6. CSVファイルの読み込み
  7. テキストエディタの作成
  8. アンケートシステムの作成
  9. 掲示板1(シンプル)

CSVファイルの読み込み1

ExcelやAccessといったアプリケーションからデータを読み込んで表示する場合、CSVファイルを使うと簡単に実現することができます。
CSVファイルとは、各項目のデータをカンマで区切ったテキストファイルのことです。

CSVファイルの作成

Excelがある場合はそれを立ち上げ、以下のようにデータを入力してください。
エクセル画面
入力を終えたら、メニューの「ファイル」→「名前を付けて保存」のダイアログボックスから、ファイルの形式を「CSV(カンマ区切り)」、ファイル名に「donut.csv」と付けて保存してください。途中でいくつか注意が出るかも知れませんが、すべて「はい」でOKです。

Excelがない場合は、テキストエディタで直接以下のように入力して、ファイル名「donut.csv」で保存してください。画面端で折り返されている行は、実際に入力するときに改行を入れてはいけません。
オールドファッション,ミルクをたっぷり使ったクッキータイプの定番ドーナツ。
ダブルチョコレート,ココアを配合したケーキタイプの生地にチョコレートをコーティング。
フレンチクルーラー,グレーズがたっぷりかかった風味豊かなドーナツ。
エンゼルフレンチ,ホイップクリームをサンドしてチョコレートでコーティングしたスウィートなドーナツ。
カスタードクリーム,口どけのよいイースト生地にカスタードクリームがたっぷり。
ポン・デ・リング,ハチミツの香り豊かなグレーズをたっぷりコーティング。もちもちとした食感。

プログラムの作成

次にCSVファイルを読み込んで画面に表示するプログラムを作成します。以下のソースを入力してください。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>CSVファイルを読み込む1</title>
</head>
<body>
<?php
$fp = fopen("donut.csv", "r");
while ($data = fgetcsv($fp, 10000)) {
  foreach ($data as $d) {
    print $d . "<br>\n";
  }
}
?>
</body>
</html>
入力が終わったら「csvread1.php」というファイル名で保存し、サーバに「csvread1.php」「donut.csv」の両方をアップし、実行してみてください。

ソースの解説

while ($data = fgetcsv($fp, 10000)) {
fgetcsv関数は、CSVファイルから一行を読み出し、各項目を配列として返す関数です。
1つ目の引数は読み込むファイルのファイルポインタです。2つ目の引数は読み込む行の最大長です。十分な長さを指定しておけば良いでしょう。
戻り値は、例えば一行目を読み込んだとき、$data[0] に「オールドファッション」、$data[1] に「ミルクをたっぷり使ったクッキータイプの定番ドーナツ。」という値が入ります。

CSVファイルの読み込み2

CSVデータをテーブルを使って整形して出力してみます。

プログラムの作成

以下のソースを入力してください。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>CSVファイルを読み込む2</title>
</head>
<body>
<table border="1">
<?php
$fp = fopen("donut.csv", "r");
while ($data = fgetcsv($fp, 10000)) {
  print "<tr>";
  foreach ($data as $d) {
    print "<td>$d</td>";
  }
  print "</tr>\n";
}
?>
</table>
</body>
</html>
入力が終わったら「csvread2.php」というファイル名で保存し、サーバにアップし、実行してみてください。
前ページ PHPでファイルの読み書き・掲示板 TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0

このページに関するコメントをどうぞ

お名前:


paywinlv
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 18:04

anklebitcw
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 11:35

butterfxa
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 03:37

nhadeptronmr
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 20:39

nhadeptronlv
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 15:24

sinforve
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 12:46

calltrackju
すべての
cbbnews24.com
csgobooms.com
csgojoybets.com
incareersjobs.com
stcmidtenn.org
thewill.in
sakirkaratas.com
apexturnkey.in
medray.in
applevalleymarket.com
b8b90.com
danhhotgay.com
cstopstake.com
nsm.org.in
vov-fc.com
csgohugepots.com
eaglesapparelshop.com
mymobileappmobiappssub2016.com
sbppl.org
gracedental.in
kehulin.com
cheappricetoyou2015.com
vamortgageloantexas.com
doitacdoanhnghiep.com
techimanage.com
elmi.co
upea.in
esncordoba.org
goal888cash.com
fullebookz.com
2winde222.com
投稿者
2017/01/23 09:37

calltrackxm
すべての
cbbnews24.com
csgobooms.com
csgojoybets.com
incareersjobs.com
stcmidtenn.org
thewill.in
sakirkaratas.com
apexturnkey.in
medray.in
applevalleymarket.com
b8b90.com
danhhotgay.com
cstopstake.com
nsm.org.in
vov-fc.com
csgohugepots.com
eaglesapparelshop.com
mymobileappmobiappssub2016.com
sbppl.org
gracedental.in
kehulin.com
cheappricetoyou2015.com
vamortgageloantexas.com
doitacdoanhnghiep.com
techimanage.com
elmi.co
upea.in
esncordoba.org
goal888cash.com
fullebookz.com
2winde222.com
投稿者
2017/01/22 23:55

techitaxxe
すべての techitax.com csprey.com lightshadowspace.com csboom.pro cbbnews24.com csgobooms.com csgojoybets.com incareersjobs.com stcmidtenn.org thewill.in sakirkaratas.com apexturnkey.in 投稿者
2017/01/22 20:37

test
testです
2017/01/22 16:39

残りを読む »