datafilename = $_datafilename; $this -> maxcount = $_maxcount -1; $this -> overcount = $_maxcount +9; $this -> overfilename = $_datafilename.".over"; $this -> exchangefilename = $_exchangefilename; } //----- 投稿内容の表示 function view(){ if (file_exists($this -> datafilename)) { $fp = fopen($this -> datafilename,"r"); } else { $fp = fopen($this -> datafilename,"w+"); } $i = 0; while ($data = fgetcsv($fp,1000)){ $this -> template($data[0],gmdate("Y/m/d H:i:s",$data[1]+9*60*60),$data[2],$data[3],$data[4]); ++$i; if ($i > $this -> maxcount) break; } fclose($fp); } //----- 投稿内容の保存 function write($_pal1, $_pal2 = "", $_pal3 = "") { if($_pal1 != "") { //----- 禁則処理 $_pal1 = str_replace("\n","
",$_pal1); $_pal1 = str_replace("\r","",$_pal1); $_pal1 = str_replace(",","%%2C",$_pal1); $_pal1 = str_replace("\\\\","%%5C",$_pal1); $_pal2 = str_replace("\n","
",$_pal2); $_pal2 = str_replace("\r","",$_pal2); $_pal2 = str_replace(",","%%2C",$_pal2); $_pal2 = str_replace("\\\\","%%5C",$_pal2); $_pal3 = str_replace("\n","
",$_pal3); $_pal3 = str_replace("\r","",$_pal3); $_pal3 = str_replace(",","%%2C",$_pal3); $_pal3 = str_replace("\\\\","%%5C",$_pal3); //----- 投稿内容のデータ化 $i = 0; $data[$i] = getenv("REMOTE_ADDR").",".time().",".$_pal1.",".$_pal2.",".$_pal3."\n"; $_eof = 0; //----- 既存内容の読込 $fp = fopen($this -> datafilename,"r"); while ($sss = fgets($fp,1000)){ ++$i; $data[$i] = $sss; if ($i >= $this -> overcount) { $_eof = 1; break; } } //----- オーバーフロー部分の別ファイル保存 if ($_eof == 1) { $fpo = fopen($this -> overfilename, "a"); while ($sss = fgets($fp,1000)){ fputs($fpo,$sss); } fclose($fpo); } fclose($fp); //----- 最新内容の保存 $fp = fopen($this -> datafilename, "w"); for ($c=0;$c<=$i;$c++) { fputs($fp,$data[$c]); } fclose($fp); } } //----- 投稿内容表示の為のテンプレート function template($_ip,$_time,$_pal1,$_pal2,$_pal3){ //----- 禁則処理 $_pal1 = str_replace("%%2C",",",$_pal1); $_pal2 = str_replace("%%2C",",",$_pal2); $_pal3 = str_replace("%%2C",",",$_pal3); $_pal1 = str_replace("\\","",$_pal1); $_pal2 = str_replace("\\","",$_pal2); $_pal3 = str_replace("\\","",$_pal3); $_pal1 = str_replace("%%5C","\\",$_pal1); $_pal2 = str_replace("%%5C","\\",$_pal2); $_pal3 = str_replace("%%5C","\\",$_pal3); //----- テンプレートファイルの読み込み include($this -> exchangefilename); } }; //--------------------------------------- ?>