![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
csvファイルを読み込み→上書きするスクリプトを作ってみましたがうまく行かないときがあり原因を考えています。
100行程度のcsvから任意の行($idで指定したもの)を書き換えたいのですが、(テスト書き込みを)書き込んでくれるときと指定したその行だけ削除されてしまうときとまちまちです。
なぜ2パターンの結果がでるのでしょうか?
お力をお借りできると幸いです。
<?php
//データの取り出し
$id = $_GET['id'];
$data = file("data/file.csv");
//idで指定した行に書き込み
$data[$id] ="テスト書き込み";
//csvファイルにデータの書き込み
$file = fopen("data/file.csv","w+");
flock($file, LOCK_EX);
for($i=0; $i<count($data); $i++) {
fwrite($file,$data[$i]);
}
fclose($file);
?>
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?e8efa67)
No.2ベストアンサー
- 回答日時:
想像です。
$idのレコードもしくはその直前のレコードまでしか処理してないとか。
countとそれから全行プリントしてみたら?
CSVのEOFが動いてるかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csvの内容を行単位で削除したい
-
FortranのOPEN文
-
VBAでcsvファイルもシートもあ...
-
xml取得値を文字列と比較
-
別ファイルの構造体の値を読み...
-
行数が30万件ほどあるCSVから、...
-
CSVデータの行数カウントをした...
-
自動で番号を振りたい
-
PHP 別ドメインへのファイル保存法
-
C言語でCSVファイルの行数を読...
-
文字列変換について
-
CSVファイルの最終行のデー...
-
PHPでサーバー上の書き換えたht...
-
配列をループでたくさん宣言し...
-
file_existsでファイル名の部分...
-
array_mapの再帰処理がうまく行...
-
2次元配列CSVのソート
-
foreachで上限回数指定方法また...
-
掲示板のあらし対策
-
Eclipseコンテンツアシストでプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPからCSVをアップロード後、m...
-
別ファイルの構造体の値を読み...
-
CSVデータの行数カウントをした...
-
Resource id #3 と表示されま...
-
C言語でCSVファイルの行数を読...
-
複数行のデータのPOST処理に関して
-
ヒアドキュメントの中のfor文
-
CSVファイルの最終行のデー...
-
自動で番号を振りたい
-
バイナリファイルの内容を、そ...
-
csvの内容を行単位で削除したい
-
FortranのOPEN文
-
ログファイルが一定行数を超え...
-
行数が30万件ほどあるCSVから、...
-
配列をファイルに書き込む方法
-
テキストデータから指定行の削除
-
stdClass Objectを連想配列のよ...
-
エラーメッセージ(無効な間接...
-
PHPでサーバー上の書き換えたht...
-
PHPでCSVの一部の行を編集したい
おすすめ情報