[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 メーリングリストの案内