プロが教えるわが家の防犯対策術!

今、PHPでプログラムを組んでいるのですが、
CSVに落としたファイルを読み込んで、
そこからテーブルを作るつもりです。

はじめはfgetcsvで全ての値をとってこようと思っていたのですが、こちらの関数はあまり使わないほうがよいと書いてあったので、
一行ずつ読み込ませる
fgetsを使用するつもりですが、
バイト数を指定しなければいけないため、できれば一行のバイト数を取得したいと思っています。

他のプログラムを見たときは固定でとっていましたが、
何かよい関数があれば、ご教授お願いいたします。

A 回答 (3件)

#2です。


仕様が変更されてたんですね。
先のこと考えると、使わないほうがいいのかもね。

で、fgetsだけど、
バイト数の指定は必須ではないと思われ。

あと、文字列の分割にはexplodeって関数使えばよいかと。
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考にさせていただきます。

お礼日時:2004/06/01 17:07

fgetcsvはなぜダメなの?


fgetcsvも一行ずつ読み込むと思うんだけど。

参考URL:http://search.net-newbie.com/php/function.fgetcs …

この回答への補足

http://ns1.php.gr.jp/pipermail/php-dev/2004-Janu …

上記のURLになるべく避けておいたほうがよいとかかれてありました。
私はPHPを始めたばかりなので、わからない点が多いと思います。
ご指摘をいただけたらありがたいと思っております。

補足日時:2004/06/01 13:55
    • good
    • 0
この回答へのお礼

ありがとうございます!!

お礼日時:2004/06/01 14:33

fgetcsvをご使用なさっていた所から


一括ですべて読み込んでも構わないようにお見受けしましたので、
「file関数」を使ってみてはいかがでしょうか?
これでしたら特に文字数を考慮する事無く読み込めますよ。

例)
$Data = file([ファイル名]);
foreach($Data as $Value){
$Record = explode(",", $Value);
# 個別の処理…
}

この回答への補足

この場合ですと、
例えば、
フィールド1,フィールド2,フィールド3
あじ、鶏肉、いんげん
いわし、豚肉、きゅうり

などのファイルを読み込ませたとき
$Recordには行を無視して入ってしまいますよね~。
できれば2次元配列のように列と行の情報をもちたいのでうすが、、、

補足日時:2004/06/01 13:08
    • good
    • 0
この回答へのお礼

ありがとうございます!!

お礼日時:2004/06/01 14:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!