PHPでCSVファイルを書き込む(fputcsv)、読み込む(fgetcsv)操作

1.CSVを生成 
fputcsv()を利用して行をcsv形式にフォーマットし、ファイルポインタに書き込む
コード下記:
<?php
$list = array (
'東京,埼玉,茨城,千葉’,
'11,22,33’,
'"php","java"'
);
$fp = fopen('file_startnews24.csv’, 'w’);
foreach ($list as $line) {
fputcsv($fp, explode(',’, $line));
}
fclose($fp);
?>

説明:
int fputcsv ( resource $handle , array $fields [, string $delimiter = “," [, string $enclosure = '"' ]] )
fputscv()は行をcsvとしてフォーマットし、それをhandleで指定したファイルに書き込む

2.CSVを読み込む
<?php
$row = 1;
$handle = fopen(“file_startnews24.csv","r");
//fgetcsv() ファイルから行を取り出しcsvフィールドとして処理する。
while ($data = fgetcsv($handle, 1000, “,")) {
$num = count($data);
echo “<p> $num fields in line $row: <br>\n";
$row++;
for ($c=0; $c < $num; $c++) {
//文字化け対処
$data[$c]=iconv(“shift-jis", “utf-8//IGNORE",$data[$c]);
echo $data[$c] . “<br>\n";
}
}
fclose($handle);
?>
説明:
public array SplFileObject::fgetcsv ([ string $delimiter = “," [, string $enclosure = “\"" [, string $escape = “\\" ]]] )
CSVフォーマットのファイルから行を取り出し読み込まれたフィールドを含む配列を返す

PHP

Posted by arkgame