phpでテキストファイルをデータベースにする方法


私の経験では、下記の書類構造が一番いいと思います。  ----------------------------------------------------------------------  ファイル拡張子:php  このようにして、データファイルへの不正アクセスを効果的に阻止しました。ファイルの2行目の書式はすべて次の通りです。  変数名1=値1 & 変数名2=値2 & ...      すべての変数を出すのは簡単です。関数を使うことです。 パーシ_str  たとえば:    echo "welcome ト visit my website:$url
  echo "email 私 at:$email";  ?>  実行結果:  I ラム redfox,my real name is 鼎さん  welcome ト visit my website:http://NetNote.oso.com.cn  email 私 at:[email protected]       したがって、本明細書では、データテキストの構造は以下の通りである。  ----------------------------------------  $dbfile=$f      $headInfo="<ディエ('ACCESS DENIED!';?>";      $fp=fopen($f、「w」)      fput($fp、$headInfo);      fclose($fp)      chmod($f,077)//ファイルのパターンを変更するには、Unixでも使用できます。      return(1);    }    機能 opendb($f){      $this->$dbfile=$f      if(file_)exists($f)){        return true;      }else{        $this->createdb($f)      }    }    機能 insertline($info){      $fields=explode(「*」、info)      while(list($key、$val)=each($fields)        $therow.=「$val=\$」.$val.「&」        $var 1.=「\」.$val.「,」;      }      $var 1.=''tail';      eval("global" $var 1; //環境変数を取得するために      eval(\$therow=\"$therow\";)      $fp=fopen($this->$dbfile,"a")      fputs($fp、「$therow」);      fclose($fp)    }    機能 readall($f){      if(file_)exists($f)){        $this->$dbfile=$f        $ローソン=file($f)        for($i=1;)i$dbfile=$f        $ローソン=file($f)        $d=count($rows)        $j=$d-1;        for($i=0;)i<$d;$i+){          if($i<$j){            $temprow=$rows[$i];            $ローソン[$i]=$ローソン[$j];            $ローソン[$j]=$temprow;            $j--;          }        }        for($i=0;)i  ----------------------------------      dbは私達がカスタマイズした本文のデータの対象で、6つの方法を含みます。createdb()、opendb()、insertline()、readall()、revread()、close()。  db->createdb(string) filename  用例:<      include(「textfun.inc」)      $mydb=new db;             $mydb->createdb(「UserInfo.php」)          ?>  この方法はUserInfo.phpファイルを作成しました。最初の行は<? ディエ('ACCESS DENIED!');  db->opendb(string) filename  用例:<      include(「textfun.inc」)      $mydb=new db;             $mydb->opendb("UserInfo.php")      ?>  この方法は、データファイルUserInfo.phpを追加モードで「開く」ことで、このファイルが存在しない場合に作成されます。      したがって,この方法はcreatedb()法に取って代わることができる。ただし、決してクラスを削除しないでください。 db{  }中のcreatedb()関数ですよ:P)  db->insertline VarString)  用例:<      include(「textfun.inc」)      $ライン=「email=」[email protected]&nickname=redfox&realname=鼎&url=http://NetNote.oso.com.cn";      パーシ_str($theline)//環境変数を作成      $mydb=new db;             $mydb->opendb("UserInfo.php")      $mydb->insertline;      ?>  db->insertline()は、「nickname me me me me 124」などの形をした文字列を、それぞれの環境変数から分離し、本明細書で約束した形式でファイルに保存することができる。 insertlineに入ってきたパラメータは、必ず環境変数名を文字列にしてください。数は限りませんが、前に「$」をつけないでください。えっと、「nikname me me me me me me me me 124」という文字列にします。  :~)  array db->readall(string) filename  用例:<      include(「textfun.inc」)      $mydb=new db;      $allrec=$mydb->readall("UserInfo.php")      ?>  readall()方法は最初の行(<? ディエ('ACCESS DENIED!');?>)外のすべてのデータの配列は、行ごとに配列の要素に対応します。  array db->revread(string) filename  用例:<      include(「textfun.inc」)      $mydb=new db;      $allrec=$mydb->revread("UserInfo.php")      ?>  revread()メソッドは、先頭行(<? ディエ('ACCESS DENIED!');?>)以外のすべてのデータは、行列を返します。これは私たちが伝言帳を作る時などにとても役に立ちます。  void db->close()          dbオブジェクトを閉じます。  はい、私達は今db対象で一番簡単な伝言帳を作ります。  ---------gust book.php------------------------  私の伝言帳

  <フォームm name=form 1 action=< echo $PHP_SELF;?>>  NickName:
  E-Mail:
  Homepage:  Message:

    opendb("msg.php")    $mydb->insertline;    //以下はすべてのデータを読み出します。    $allrecs=$mdb->revread("msg.php")    while(list($key、$theline)=each($allrecs))      パーシ_str($theline)      ?>      br/>      URL:
      Message:
hr。 ノート size=1>      close();  }  ?>  -----------------------------  はい、このメッセージはあまり綺麗ではありませんが、主にdb対象の使い方を例を挙げて説明するためです。  本論文はWIN 98+PWS+PHP 4の下でデバッグを通します。