1、加入數(shù)據(jù)程序段。
$date=date( Y-m-d H:i:s //取得系統(tǒng)時間 $ip = $HTTP_SERVER_VARS[REMOTE_ADDR]; //取得發(fā)言的IP地址 $text=encode($gb_text);//去掉留言內容后面的空格. $fp=fopen( gb.dat , a //以只寫模式打開gb.dat文本文件,文件指針指向文件尾部. $str=$ip. .$date. .$gb_name. .$gb_email. .$gb_home. .$face. .$gb_qq. .$head. .$text. .$reply. /n //將所有留言的數(shù)據(jù)賦予變量$str, 的目的是用來今后作數(shù)據(jù)分割時的數(shù)據(jù)間隔符號。 fwrite($fp,$str);//將數(shù)據(jù)寫入文件 fclose($fp);//關閉文件 showmessage( 留言成功! , index.php , 3 //留言成功,3秒后自動返回主界面。
其中的$gb_name 、$gb_email、$gb_home、$face、$gb_qq、$head、$gb_text、$reply是由發(fā)言表單傳過來的數(shù)據(jù)。
2、數(shù)據(jù)顯示程序段
<? if (file_exists( gb.dat )){//檢測文件是否存在 $array=file( gb.dat //將文件全部內容讀入到數(shù)組$array $arr=array_reverse($array);//將$array里的數(shù)據(jù)安行翻轉排列(即最后一行當?shù)谝恍校来祟愅疲┳x入數(shù)組$arr的每一個單元($arr[0]...)。 $num=count($array);//獲取數(shù)組$array里的信息數(shù)(一行為一條信息) if ($num>0){//如果信息數(shù)大于零(即文本數(shù)據(jù)庫不為空) $total=ceil($num/$pagesize);//計算總頁數(shù)(取最大整數(shù),即凡有小數(shù)點都進一取整,$pagesize為預設的每頁顯示的信息數(shù)) if($page<1){//如果當前頁面數(shù)碼號小于1 $page=1;//則賦值為1 $number=($page-1)*$pagesize;//計算當前所顯示第一個留言的數(shù)碼號(數(shù)碼號從零開始,主要是達到與數(shù)組單元號對應的目的) for($i=0;$i<=$pagesize-1;$i++){//進入循環(huán) $row=explode( ,$arr[$number]);//以 作為分割符,分割數(shù)組$arr中每第$number個單元的數(shù)據(jù),并將這些數(shù)據(jù)賦予數(shù)組$rom list($ip,$datetime,$name,$email,$home,$face,$qq,$head,$text,$reply)=$row;//將數(shù)組$row里的單元數(shù)據(jù)按順序賦予括號里的變量 <img src=<? echo $head ?> >//顯示客戶形象圖片 <br> <font color= #0099CC >昵稱【<? echo $name ?><font size= 2 >】<br>//顯示客戶名 發(fā)表于:<? echo $datetime ?>//顯示留言發(fā)表時間 <br> <img src=<? echo $face ?>>//顯示客戶留言表情圖片 <? echo $name ?>說:<? echo $text; ?>//顯示客戶留言內容 <br> <? echo $reply ?>//顯示回復內容 <br> <a href= <? echo $home ?> target= _blank >訪問<? echo $name ?>的主頁</a>//客戶主頁的超連接 <a href= mailto:<? echo $email ?> >給<? echo $name ?>發(fā)信</a>//客戶E-MAIL的連接 <? echo $name ?>的QQ號碼是<? echo $qq ?>//顯示客戶的QQ號碼 <? echo $name ?>的IP地址為<? echo $ip ?> //顯示客戶的IP地址 <a href= reply.php?time=<? echo $datetime ?> >回復</a>//留言回復的連接語句 <a href= del.php?time=<? echo $datetime ?> >刪除</a>//留言刪除的語句(以客戶留言時間$datetime作為刪除標識) <br> if ($number == $num-1)//如果數(shù)組的單元號等于總留言數(shù)減一(因為單元號以零開始的,所以這意味著這是最后一條留言) break;//跳出循環(huán) $number = $number + 1; //數(shù)組單元號加1 }//循環(huán)結束符 if ($page <> 1)//如果當前頁面數(shù)碼號不等于1 $back = $page - 1;//當前頁面數(shù)碼號減1,并將此值賦予變量$back echo <a href=index.php?page=1>第一頁</a> //顯示第一頁的連接 echo <a href=index.php?page=$back>上一頁</a> 當前頁面數(shù)碼號等于$back,并顯示其連接 if ($page <> $total)//如果當前頁面數(shù)碼號不等于總頁數(shù)號(最后一頁數(shù)碼號) $next = $page + 1;//當前頁面數(shù)碼號加1并賦予變量$next echo <a href=index.php?page=$next>下一頁</a> //顯示下一頁連接 echo <a href=index.php?page=$total>最后一頁</a> 顯示最后一頁連接 echo 頁數(shù):$page / $total //顯示當前頁面數(shù)碼號和顯示最后一頁數(shù)碼號 echo 共有 $num 條留言 //顯示留言數(shù)信息 else { echo <center>當前沒有任何留言!</center> //如果文件內容為空則顯示的信息 else { echo <center>數(shù)據(jù)文件丟失,請聯(lián)系管理員!或發(fā)布留言重新建立數(shù)據(jù)文件!</center> //如果文件不存在顯示的信息 }
3、數(shù)據(jù)修改程序段
$list=file( gb.dat //讀取整個gb.dat文件到數(shù)組$list,數(shù)組每一個元素為一條留言($list[0]是第一條留言的數(shù)據(jù)、$list[1]是第一條留言的數(shù)據(jù)..... $n=count($list);//計算$list內容里的留言總數(shù),并賦予變量$n if ($n>0){ //如果留言數(shù)大于0$fp=fopen( gb.dat , w //則以只寫模式打開文件gb.dat $gb_reply=encode($gb_reply); for ($i=0;$i<$n;$i++) {//進入循環(huán) if(eregi($ttime,$list[$i])){//將送來發(fā)留言時間$ttime與數(shù)組單元$list里內容進行字串匹配比較 $f=explode( ,$list[$i]);//如果找到匹配,就以 作為分隔符,切開留言信息$list[$i](第$i條留言),并將這些數(shù)據(jù)賦予數(shù)組$f $f[9]=$gb_reply;//將$f[9](留言信息最后一條數(shù)據(jù))用$gb_reply(回復內容)代替。 $list[$i]=$f[0]. .$f[1]. .$f[2]. .$f[3]. .$f[4]. .$f[5]. .$f[6]. .$f[7]. .$f[8]. .$f[9]. /n //將數(shù)組單元$list[$i]的內容用數(shù)組$f加上分隔符 代替(其中$f[9]是修改了的新數(shù)據(jù))。 break;//跳出循環(huán) }//循環(huán)結束符 FOR($i=0;$i<=$n;$i++){//進入循環(huán) fwrite($fp,$list[$i]);//將數(shù)組$list的每個單元為一行,寫入文件gb.dat }//循環(huán)結束符 fclose($fp);//關閉文件 showmessage( 回復成功! , index.php //回復成功,自動返回主界面。
4、數(shù)據(jù)刪除程序段
$list=file( gb.dat //讀取整個gb.dat文件到數(shù)組$list,數(shù)組每一個元素為一條留言($list[0]是第一條留言的數(shù)據(jù)、$list[1]是第一條留言的數(shù)據(jù)..... $n=count($list);//計算$list內容里的留言總數(shù),并賦予變量$n if ($n>0){//如果留言數(shù)大于0 $fp=fopen( gb.dat , w //則以只寫模式打開文件gb.dat for ($i=0;$i<$n;$i++) {//進入循環(huán) if(eregi($ttime,$list[$i])){//將發(fā)送過來發(fā)留言時間$ttime與數(shù)組$list[$i]里的字串進行匹配比較 $list[$i]= //如果匹配成功,則將$list[$i]清空(達到刪除的目的) break;//跳出循環(huán) }//循環(huán)結束符 FOR($i=0;$i<=$n;$i++){//進入循環(huán) fwrite($fp,$list[$i]);//將數(shù)組$list的每個單元為一行,寫入文件gb.dat } //循環(huán)結束符 fclose($fp);//關閉文件 showmessage( 刪除成功! , index.php //刪除成功,自動返回主界面。 }
5、數(shù)據(jù)查詢程序段
<form action= search.php method= post > <font color= #0099CC size= 2 >搜索關鍵字: <input name= found type= text id= found >相關推薦:
PHP文本數(shù)據(jù)庫的搜索方法
以上就是PHP對文本數(shù)據(jù)庫的操作方法有哪些?PHP對文本數(shù)據(jù)庫操作的五種方法的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。
新聞熱點
疑難解答