• 締切済み

改行コードの除去

phpでcsvファイルを読み込んで処理しています。 $handle = fopen(ファイル名,"r"); while (!feof($handle)){ $filedata = fgets($handle); $record = explode(",", $filedata); というようにやっているのですが、 ファイルの最終行の改行コードを除去する方法が分からなくて困っています。 何か良い方法は無いでしょうか

みんなの回答

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.3

trim()は、末尾の改行を削除してくれますよ。 行毎に分解する前に、trimすれば、『最後の行だけ改行を除去』してくれます。

okapi5243
質問者

お礼

ありがとうございました。 結局空の文字列の行は処理しないというやり方にしてしまいました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

fgets()の代わりにfgetcsv()を使うと、そのあたりの事を うまくやってくれた気がします。 自分で","で分ける必要もなかったはず

参考URL:
http://manual.xwd.jp/function.fgetcsv.html
okapi5243
質問者

お礼

ありがとうございます。 fgetcsvはエラーが多いと聞いて敬遠してました。 試してみます。

  • koke29
  • ベストアンサー率58% (114/196)
回答No.1

trim()で除去するとか str_replace ()で改行文字を置換するとか あります 改行コード 除去 PHP で調べればいっぱい出てくるので 使い方などはご自身で調べてみて下さいねー

okapi5243
質問者

補足

ありがとうございます。 trim()とかは知っているのですが、読み込んだcsvの最後の行だけ改行を除去する方法が分からないのです。 この改行がついているせいで実際の行より一行多く処理されてしまい、エラーが出てしまって困っています。

関連するQ&A