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------------------------ 私の伝言帳
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
<フォーム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) ?>
Message: