<?php
//===============================================================================
//   ■■ PHP離れ島        :サンプル ■■
//        Class        :php20030115s.php
//        Copyright    :masago.kir.jp
//        Made by        :Masago
//        Date        :2003/01/15
//        Last Update    :2003/01/15
//        
//        Comment        :ファイルの読み書き
//        
//        Caution        :
//            (フォルダ構成)
//                  |-php20030115.php
//                  |-(files)[777] ┐
//                                 └ yokata.txt
//
//==============================================================================
//------------------------------------------------
// □ ここにファイル名を入れましょう
//    保存用フォルダのフォルダのパーミッション
//    は「777」にして下さいね。
//    このサンプルでは「files」が保存フォルダ
//    ファイルはここで指定した名前で作られます。
//-----------------------------------------------
$filename    "files/yokata.txt";    //保存ファイル
//----------------------------------------------- 
// □ 変数の初期化
//-----------------------------------------------
$buff        = array();        //ファイルバッファ
$temp        "";            //ファイルテンポラリバッファ
$error        "";            //エラーメモリ
$cnt        0;            //カウント
//----------------------------------------------- 
// □ POSTされてたら
//----------------------------------------------- 
if ($_SERVER["REQUEST_METHOD"]=="POST"){
        if (isset(
$_POST['submit']) && $_POST['msg']!=""){ 
        
$msg=$_POST['msg'];
        
//--------------------------------
        // ■ ファイルに書く
        //--------------------------------
        //追加書き込みモードで開く(ファイルが無いときは作成)
            
$fp=@fopen($filename,"a+");
        if (!
$fp){
            
$error="** ファイル書き込みのオープンで失敗しました **";
        }else{
            
//排他ロック
            
flock($fp,LOCK_EX);
            
//タグを無効化 
            
$msg htmlspecialchars($msgENT_QUOTES);    
            
//書き出し
            
fputs($fp,$msg ."\n");
            
//ロックを解除
            
flock($fp,LOCK_UN);    
            
//ファイルを閉じる
            
fclose($fp);        
        }
    }
}
//--------------------------------------------- 
// □ ファイルを読む
//      ファイルが存在したときのみ
//---------------------------------------------
if (file_exists($filename)){
    
//読み取りモードで開く
    
$fp=@fopen($filename,"r");
    if (!
$fp){
        
$error="** ファイル読み込みのオープンで失敗しました **";
    }else{
        while(!
feof($fp)){
            
//一行ずつ読み込み=>$tempへ
            
$temp    fgets($fp);
            if (
$temp!=""){
                
//バッファ配列に保存(配列の最後にデータを保存)
                
$buff[]= "○" .$temp ."<BR><BR>";
            }
        }
        
//ファイルを閉じる
        
fclose($fp);                
    }
}
//--------------------------------------------- 
// □ バッファ配列の順序を逆転する
//---------------------------------------------
$buff=array_reverse($buff);

?>
<HTML> 
<HEAD> 
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=utf-8"> 
<TITLE>2003/01/15 TIPS</TITLE> 
</HEAD> 
<BODY> 
<FONT SIZE="2">
<A HREF="http://masago.kir.jp/urashima/">HOME</A>&nbsp;&nbsp;
<A HREF="php20030115.php">PHP離れ島へBACK</A>&nbsp;&nbsp;
<A HREF="phpsc.php?s=php20030115s.php">このページのソース</A>
<BR><BR>
<BR><BR>
<CENTER> 
<B>・・・・ ヨカッタサガシ島にようこそ ・・・</B><BR><BR>
</FONT>
<IMG SRC="img/php/20030115s.jpg" BORDER="0"><BR><BR>
<?php
//--------------------------------------------- 
// □ エラーメモリを表示
//---------------------------------------------
if ($error!=""){echo $error;}
?> 
<BR>
<HR WIDTH="400">
<FONT SIZE="2" COLOR="#2e8b57"><B>「ヨカッタ(^_^)」を見つけたよ</B><BR><BR>
ここはサンプルなので<BR>
管理人の判断で内容が削除される場合があります。<BR>
入力された内容が削除されてしまってもご容赦ください。<BR>

</FONT><BR>
<HR WIDTH="400">
<FORM ACTION="<?php echo $_SERVER['SCRIPT_NAME']; ?>" METHOD="POST"> 
<INPUT TYPE="text" NAME="msg" VALUE="" SIZE="80"><BR><BR>
<INPUT TYPE="submit" NAME="submit" VALUE="教えるね♪"><BR> 
</FORM> 
<BR><BR>
<?php
//--------------------------------------------- 
// □ バッファに保存した内容を表示
//---------------------------------------------
if (isset($buff) && count($buff)>0){
    foreach(
$buff as $value){
        
$cnt++;
        if ((
$cnt%2)>0){
            echo 
"<FONT SIZE=\"2\" COLOR=\"#fa8072\">";
        }else{
            echo 
"<FONT SIZE=\"2\" COLOR=\"#faa460\">";
        }
        echo 
$value;
    }
}
?>
</FONT>
</CENTER>
</BODY> 
</HTML>