私の経験に基づいて、次のファイル構造が最適だと思います:
--------------------------------- -- -----------------------------------
ファイル拡張子: .php
email=ask4more@13.net & Nickname=redfox & realname=A Ding & url=http://NetNote.oso.com.cn & ...
...
--- ---------------------------------------------- --- -----------------
拡張子が .php で、ファイルの最初の行が これにより、データ ファイルへの不正アクセスが効果的に防止されます。ファイルの 2 行目の形式は次のとおりです: 変数名 1 = 値 1 & 変数名 2 = 値 2 &...
すべての変数の提案は非常に簡単で、関数 parse_str() を使用するだけです
例:
< ;?
$theline="email=ask4more@13.net&nickname=redfox&realname=A Ding&url=http://NetNote.oso.com.cn";
parse_str($theline);//変数 $email,$nickname を区切ります,$ realname,$url
echo "私は $nickname、私の本名は $realname
";
echo "私のウェブサイトへようこそ:$url
"
echo "メールしてください:$email "; したがって、この記事は、データ テキスト構造が次のとおりであることに同意します。
------------------------------------- -----
変数名 1 = 値 1 & 変数名 2 = 値 2 & ...
ファイル拡張子: .php
--- --- ----------------------------------
2行目からが実際のデータです。このようなファイル構造を使用すると、GuestBook、BBS、さらにはコミュニティ データ処理さえも簡単に実装できます:) 私のホームページ「Netnote」 http://netnote.oso.com.cn はこの方法で実装されています。
大多数のネチズンを容易にするために、いくつかの機能をまとめました。必要な説明は以下で行います。もちろん、必要に応じて変更して実装できますが、機能の整合性を確保する必要があります。次のコードを textfun.inc という名前で保存し (もちろん他の名前も同じです)、ファイルの先頭に というステートメントを追加してください。私があなたのためにコンパイルした関数を使用できます。
以下に db オブジェクト、関数 p2row() があります
-------------textfun.inc----------------
<
クラス db{
関数 createdb($dbName){
$this->$dbfile=$f;アクセスが拒否されました !');?>n";
$fp=fopen($f,"w");
fputs($fp,$headInfo);
fclose($fp);
chmod($f,0777 ); //ファイル モードを変更します (Unix でも使用可能)
Return(1);
function opendb($f){
$this->$dbfile=$f;
if(file_exists($f)) {
return true;
while(list ($key,$val)=each($fields)){
}
$var1.='$tail'
eval("global $var1;");環境変数を取得するには
eval("$therow="$therow";");
$fp=fopen( $this->$dbfile,"a");
fputs($fp,"$thewn");
fclose($ fp); function readall($ f){file_exists($ f); = $ rows [$ i];
= $ rows [$ i&lt; $ d; $ i++){
if($i $temprow=$rows[$i];
$rows[$i]=$rows[$j];
$j--;
保存しやすいように 1 行のテキストとしてフォーマットされます
$t=nl2br(stripslashes(htmlspecialchars($t)));
for($i=0;$i<); ;strlen($t);$i++){
$c= substr($t,$i,1);
if(ord($c)==10) $c=" "; c;
}
$tempstr を返す
}
?>
---------------. 6 つのメソッドが含まれます: createdb()、opendb()、insertline()、readall().revread()、close();
db->createdb(string filename)
使用例:
include ("textfun.inc");
$mydb->createdb("UserInfo.php");
?>
このメソッドは、ファイル UserInfo.php を作成します。最初の行は < die('ACCESS DENIED!');?>
db->opendb(string filename) です。 ?
include("textfun.inc");
$mydb->opendb("UserInfo.php");
このメソッドは、UserInfo.php を「開きます」追加モード。このファイルが存在しない場合は作成されます。
したがって、このメソッドは createdb() メソッドを置き換えることができます。 (ただし、クラス db{ } の createdb() 関数は削除しないでください :P)
db->insertline(string VarString)
使用例:
include("textfun.inc");
$theline ="email=ask4more@13.net&nickname=redfox&realname=Ading&url=http://NetNote.oso.com.cn";
parse_str($theline);//環境変数を構築する
$mydb=new db- & gt; OpenDB ("userInfo.php"); $ mydb- & gt; 文字列 "nickname|realname|email|url" を区切ります。変数を取得し、この記事で合意された形式でファイルに保存します。 insertline() のパラメータを渡すときは、「|」を使用して環境変数名を文字列に接続する必要があります。ただし、先頭に「$」を追加しないでください。 "nickname|realname" |email|url" の形式 このような文字列 :~)
array db->readall(string filename)
使用例:
include("textfun.inc");
$ mydb=new db;
$ allrec=$mydb->readall("UserInfo.php");
?>
readall() メソッドは最初の行 ( die('ACCESS DENIED!') を除くすべてのデータを返します。 );?>) 配列。各行は配列の要素に対応します。
array db->revread(string filename)
使用例:
include("textfun.inc");
$allrec=$mydb->revread("UserInfo. php");
?>
revread() メソッドは、最初の行 ( die('ACCESS DENIED!');?>) を除くすべてのデータを逆順に読み取り、配列を返します。これはゲストブックなどを書くときに特に便利です。
void db->close()
db オブジェクトを閉じます。
それでは、db オブジェクトを使用して最も単純なゲストブックをコンパイルします。
---------guestbook.php------------
私の遺言本