
【PHP】csvファイルへの書き出し(1行追加or1行上書き)について
はじめて利用させていただきます。
現在、PHPにて書き出し処理を作成している者ですが、csvファイルへの書き出しの際に先頭行にスペースが大量に入ってしまい、困っています。
自分なりに調べてみたのですが、原因がわかりません。詳しい方からのアドバイスをお願いしたいです。
【行っている処理】
1.csvファイルを1行ずつ読み込み、配列に格納
2.既存のデータに同じ名前の人が存在する場合は、その行の配列の内容を変更(存在しない場合は配列の末尾に1件追加)
4.現在ファイルにあるデータを削除(丸めこみ)し、配列データを書き書き出し
【ソース】(書き出し処理に問題があると思ったため、それ以外の部分は割愛させていただきます)
<?php
$filename = 'data.csv';
$file = fopen($filename, "r+" );
$name = array();
if(flock($file,LOCK_SH)){
while( $data = fgetcsv( $file, 1000, "," ) ) {
//配列に格納
}
//配列の内容変更or新規に一行追加処理
//現在のファイル内のデータを削除(まるめこみ)
ftruncate($file, 0);
//1行分のデータをカンマ区切りで結合し、書き出し
for($i = 0; $i < $count; $i++){
$ins = $name[$i];
$ins .= ',';
$ins .= $number[$i];
//書き込み失敗時のエラー
if(fwrite($file, "$ins\n" ) === FALSE){
print("ファイル書き込みに失敗しました");
}else{
//処理なし
}
}
//ファイルロック解除
flock($file, LOCK_UN);
}else{
print("ファイルロックに失敗しました");
}
【csvファイルの中身(処理実行前)】
佐藤,1234
田中,12345
中村,9876
【csvファイルの中身(処理実行後)】
佐藤,1234
田中,12345
中村,9876
以上です。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの最終行のデー...
-
fgetsを使ってcsvからcsvに
-
バイナリファイルの内容を、そ...
-
文字列の文字一文字ずつを解析...
-
【PHP】csvファイルへの書き出...
-
配列を回すとき、最後の要素だ...
-
PHPのカッコ[ ]の使い方について
-
タグの中身だけを取り出す正規
-
verilogで、配列の一部をタスク...
-
漢字のソートについて
-
fgetsで取り込んだ文字をexplod...
-
$_SESSIONに二次元配列を使える...
-
連想配列のprint_rやvar_dump出...
-
Perlで重複行を削除したい
-
PHPでこのコード自体に意味は無...
-
Smartyでインクリメント
-
配列をmb_ereg_replaceで一気に...
-
プルダウンメニューにDBの内容...
-
マッチング処理(1:N)
-
PHP 多次元配列変数のデータ受...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
csvの内容を行単位で削除したい
-
C言語でCSVファイルの行数を読...
-
エラーメッセージ(無効な間接...
-
自動で番号を振りたい
-
別ファイルの構造体の値を読み...
-
Resource id #3 と表示されま...
-
行数が30万件ほどあるCSVから、...
-
PHP5でCSVの指定行データだけを...
-
バイナリファイルの内容を、そ...
-
複数行のデータのPOST処理に関して
-
PHPで、CSVファイルを、指定し...
-
配列同士の足し算のループ処理
-
【PHP】csvファイルへの書き出...
-
stdClass Objectを連想配列のよ...
-
phpでcsvファイルから二次元配...
-
PHPでCSVの一部の行を編集したい
-
ログファイルが一定行数を超え...
-
CSVデータの行数カウントをした...
-
CSVでアップロードしたデータの...
-
CSVデータを正規表現で抜き出せ...
おすすめ情報