[PHP-users 16675]ログファイルの改行について

aiko FR3A-YN @ asahi-net.or.jp
2003年 7月 14日 (月) 16:12:09 JST


aikoです。
初めまして。よろしくお願いいたします。

最近PHPをを始めて、さっそく掲示板をがんばってみました。
環境は主に

Win XP
Apache2.0.44
PHP 4.3.2

です。でも、

Mac OS X
Apache Apache/1.3.27
PHP 4.3.2

こっちにもファイルを置いたり、お互いにブラウザからアクセスしあったりします。
今回、どちらでやっても結果は同じです。

データは、CSV形式で普通のテキストファイルに保存しています。
普通にログを追加するところまでは成功しました。
それで、これにユーザから削除できる機能もつけてみました。

ログのIDと、パスワードがマッチしたらその一行を入れ代えて
一時ファイルに保存、
その後そもそものログファイルにcopy、と書籍などでわかりました。

でも・・・
削除すると、ログファイルの末尾に改行が毎回増えて、
もう何日も考えたり調べたり(もちろんML検索も)しましたが
わからないんです。。。

#検索したキーワードはwindows、改行、ログファイルとかやってみたんですが・・

こんなことって、よくあることなのでしょうか?
どうしたらいいのか、教えて下さい。
キーワードがマズい場合は、そちらも教えていただけたらうれしいです。

なにか手がかりをお願いします。

ちなみに、あやしい!と自分で考え付くことは
やってみたつもりなんです。

-----
//ユーザーによる削除

if(isset($delpass)){
	$tempfile =tempnam("./data/",'~PHP');
	$ichigo =fopen($tempfile,"wb"); ←"w"でやっても結果は同じです
	$fp =fopen($datafile,"rb"); ←"r"でやっても結果は同じです
	while(!feof($fp)){
	$data =fgetcsv($fp,1024);

		if($data[0] == $_POST[num]and $data[7]==$_POST[delpass]){//番号とパス
ワードでサーチ!
		$writedata=array($data[0],$data[1],$data[2],$data[3],$data[4],削除され
た記事,ユーザーによってこの記事は削除されました,$data[7]);
		$data = $writedata;
		}
		
		//$data =str_replace("\r\n","",$data); ←やってみたんですが効果なし
		//$data =str_replace("\r","", $data);  ←やってみたんですが効果なし
		//$data = mb_convert_encoding($data,"SJIS","EUC-JP"); ←効果どころかデータとぶ
		$data= ereg_replace("[\r\n]","",implode(",", $data))."\n"; 
 ←やってみたんですが効果なし
		fputs($ichigo,$data);
		
		}
		fclose($ichigo);
		fclose($fp);

copy($tempfile,$datafile);
}
-----


何か情報が足りないかもしれませんがよろしくお願いします。




PHP-users メーリングリストの案内