PHP memo >
ファイルを読み込む(入力) >
CSVファイルを読み込む [fgetcsv]
CSVファイルを読み込む [fgetcsv]
ページ内リンク
■オペランド
fgetcsv
{配列} = fgetcsv( {ファイルポインタ} [, {文字列長}, {デリミタ文字}, {フィールド囲い子文字} ] )
{配列}
戻り値。
ファイルポインタが指すファイルから読み込んだ1行が配列に格納される。
例)
ファイル
aaa,bbb,ccc,ddd
の場合
$return = fgetcsv(xxx);
配列の中身は
$return[0] → aaa
$return[1] → bbb
$return[2] → ccc
$return[3] → ddd
となる。
{ファイルポインタ}
(fopen等で)正常にオープンされたファイルを指すファイルポインタを設定。
{文字列長}(省略可能(PHP5から))
取得する文字列の最大値。
【省略値】制限なし(但し若干動作が遅くなる)
{デミリタ文字}(省略可能)
フィールドのデリミタ(区切文字)の設定。
【省略値】カンマ
{フィールド囲い子文字}(省略可能)
フィールド囲い子文字の設定。
【省略値】ダブルクォート
■スクリプト(ソース)
<?PHP
// 読み込むファイル名の指定
$file_name = "file.txt";
// ファイルポインタを開く
$fp = fopen( $file_name, 'r' );
// データが無くなるまでファイル(CSV)を1行ずつ読み込む
while( $ret_csv = fgetcsv( $fp, 256 ) ) {
// 読み込んだ行(CSV)を表示する
for($i = 0; $i < count( $ret_csv ); ++$i ){
echo("[".$ret_csv[$i]."]");
}
echo("<br />");
}
// 開いたファイルポインタを閉じる
fclose( $fp );
?>
■スクリプト使用関数
■ |
fopen |
resource fopen( string filename, string mode [, int use_include_path [, resource zcontext]] ) |
ファイルまたはURLをオープンする |
■ |
fgetcsv |
array fgetcsv( resource handle [, int length [, string delimiter [, string enclosure]]] ) |
ファイルポインタから行を取得し、CSVフィールドを処理する |
■ |
count |
int count( mixed var [, int mode] ) |
変数に含まれる要素、 あるいはオブジェクトに含まれるプロパティの数を数える |
■ |
echo |
void echo( string arg1 [, string ...] ) |
1つ以上の文字列を出力する |
■ |
fclose |
bool fclose( resource handle ) |
オープンされたファイルポインタをクローズする |
■スクリプト実行例
入力ファイル(file.txt)
aaa,bbb,ccc,eee
11111,22222,33333,44444,55555
結果(ブラウザ表示)
[aaa][bbb][ccc][eee]
[11111][22222][33333][44444][55555]
HOME: PHP memo