PHP 分别使用文本文件、XML和sqlite 存取文本的实现

来源:互联网 发布:php curl cookie 传递 编辑:程序博客网 时间:2024/06/07 06:30
环境为 Apache 2.2 + PHP 5.4(启用sqlite3扩展)。

在第一个文本区中输入一些文本,提交后分别存储到文本文件、XML文件和 sqlite 数据库(不存在时将自动创建),然后再读出分别显示在三个文本区中,均可正确存取,相关读写函数运行正常,可用于生产。

<?php $DIR_ROOT=$_SERVER['DOCUMENT_ROOT']; error_reporting(-1); $CONF["DATATYPE"]="sqlite3"; $CONF["HOST"]=""; $CONF["DATABASE"]=$DIR_ROOT . "/database/sqlite.db"; $CONF["USER"]=""; $CONF["PWD"]=""; $db = new SQLite3($CONF["DATABASE"]); $cstr="create table if not exists mmm (id integer primary key,stext text,mtext text);"; $db->exec($cstr) or die("Error in query execution"); $text=$_POST['text']; if ($text!="") { //1.文本 // 1.1 存储 file_put_contents("xxx.txt",$text); // 1.2 读出 $var=file_get_contents("xxx.txt"); //2.XML // 2.1 存储 $dom = new DomDocument('1.0','utf-8'); $textnode = $dom->createElement('text'); $dom->appendChild($textnode); $titlenode = $dom->createElement('title'); $textnode->appendChild($titlenode); $title = $dom->createTextNode($text); $titlenode->appendChild($title); file_put_contents("text.xml",$dom->saveXML()); // 2.2 读出 $dom->Load("text.xml"); $textnode=$dom->getElementsByTagName("text")->item(0); $titlenode=$textnode->getElementsByTagName("title")->item(0); $mvar=$titlenode->nodeValue; //3.sqlite数据库 // 3.1 清除旧数据 $query="DELETE FROM mmm"; $db->exec($query); // 3.2 存储 $query="INSERT INTO mmm (stext,mtext) VALUES ('" . addslashes($text) . "','" . addslashes($text) . "')"; $db->exec($query); // 3.3 读出 $query="SELECT * FROM mmm limit 0,2"; $res=$db->query($query); $r = $res->fetchArray(); $svar=$r['stext']; } ?> <FORM METHOD=POST ACTION=""> <TEXTAREA ROWS="6" COLS="40" name="text"><?php print($var);?></TEXTAREA> <TEXTAREA ROWS="6" COLS="40" name="stext"><?php print($mvar);?></TEXTAREA> <TEXTAREA ROWS="6" COLS="40" name="mtext"><?php print($svar);?></TEXTAREA> <BR><INPUT TYPE="submit"> </FORM>

原创粉丝点击