
正文
php读写数据 php读取数据表内容
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于PHP读写文件
是的,PHP可以对txt文件读写,相关函数如下:
fopen()打开文件
格式如:fopen("文件路径","r")
fopen()函数有参数第一个参数要指明文件,第二个参数可以是r,w等,读文件时就可以是r,写文件时可以是w,具体查看一下手册!
fwrite()和 fputs()写文件
具体参照手册,有简单的例子,应该能看明白
fclose()关闭文件
这个应该能理解到吧!
fgets()读取记录
当然上面几个是常用,参数就看情况应用,还有其他函数请查看手册!先暂位,今晚再继续按你要求写段代码,现在下班喽```
研究了一整晚,现在23:47分,主要是你要求id累加,文本操作有局限,要是数据库早就OK了!不过也终于研究出来!辛苦..
代码如下:
--------------------------------------------
?php
//$name = $_POST['name'];
//$password = $_POST['password'];
$name = '0758jian';
$password = '123456';
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
if (!file_exists("$DOCUMENT_ROOT/study/info.txt")) { //注意你的站点的实际路径
$fp = fopen("$DOCUMENT_ROOT/study/info.txt",'ab'); //以二进制追加方式打开文件,没文件就创建
$id = 1;
$col ="$id"."\t"."$name"."\t"."$password"."\n"; //记录赋值
fwrite($fp, $col, strlen($col)); //插入第一条记录
fclose($fp); //关闭文件
echo "创建文件成功并添加了一条记录";
} else {
if (!$fp = fopen("$DOCUMENT_ROOT/study/info.txt",'r')) {
echo '文件访问出错';
exit;
}
while (!feof($fp))
{
$co[] = fgets($fp,4096);
}
$numco = count($co);
$strco = $co[$numco-2];
$exco = explode(' ',$strco);
$id = $exco[0]+1;
fclose($fp);
$fp = fopen("$DOCUMENT_ROOT/study/info.txt",'ab');
$col ="$id"."\t"."$name"."\t"."$password"."\n";
fwrite($fp, $col, strlen($col));
fclose($fp);
echo '总共有:'.$numco.'条记录,记录添加成功!!';
}
?
嘻嘻,不明白的地方可以留言给我~我亲自测试OK,请注路径问题!至于提交表单和显示我就没写你能看明白上面那段代码就应该写出显示没问题的!
相关问答
Q1: php读取txt文件写入数据库问题
?php
$file_dir="1.txt";
$fp=fopen($file_dir,"r");
$content=fread($fp,filesize($file_dir));//读文件
fclose($fp);
function replaces($str)//为各字段添加''
{
foreach($str as $k=$v)
{
$str[$k]="'".trim($v)."'";
}
return $str;
}
function Get_item($tmp1,$tmp2,$cont,$sq)//取得sql语句;tmp1为记录分割点,tmp2为字段分割点
{
$tmp_rows=explode($tmp1,$cont);
foreach($tmp_rows as $key=$value)
{
$tmp_rows2[$key]=replaces(explode($tmp2,trim($value)));
$sql[$key]=$sq.implode(",",$tmp_rows2[$key]).")\"";
}
return $sql;
}
$sq="\"insert into table1 (a1,a2,a3) values (";//sql的前半部分,要完善!
$sql=array();
$sql=Get_item("-"," ",$content,$sq);
//$db=mysql_connect("localhost","root","abc");//联接mysql,自己加
//mysql_select_db(....
foreach($sql as $v)
{
mysql_query($v);//执行sql;
}
//mysql_close($db);
?
或者生成一个1.sql文件,再把它导入mysql;
Q2: php读取数据库数据 写进 txt
注意。当你生成txt文件时,先将txt另存为一下修改一下txt文件的编码,txt默认是采用ascii格式,换成utf8吧
Q3: php读取数据写入mysql增加数据校验功能
这个不应该在数据写入的时候校验,你应该放在录入数据或者接收数据的时候做校验并返回对应提示
校验八位数的正则
preg_match('/\d{8}$/',$arr[55])
Q4: php读取数据库信息的几种方法
连接到一个 url 地址为localhost 、 端口为 3306 的mysql服务器上。mysql服务器的帐号是"root",密码是"9999"。mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc。表 abc 一共为两列,列名分别是 "id" 和 "name" ,将 abc 里的所有数据读出来。
?
$dbh = @mysql_connect("localhost:3306","root","9999");
/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */
if(!$dbh){die("error");}
/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */
@mysql_select_db("ok", $dbh);
/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */
$q = "SELECT * FROM abc";
/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */
?
br /
!--========= 方法一 =========--
br /
?
$rs = mysql_query($q, $dbh);
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */
if(!$rs){die("Valid result!");}
echo "table";
echo "trtdID/tdtdName/td/tr";
while($row = mysql_fetch_row($rs)) echo "trtd$row[0]/tdtd$row[1]/td/tr";
/* 定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0] 和 $row[1] 的位置可以换*/
echo "/table";
?
br /
!--========= 方法二 =========--
br /
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_object($rs)) echo "$row-id $row-name br /";
/* id和name可以换位置 */
?
br /
!--========= 方法三 =========--
br /
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_array($rs)) echo "$row[id] $row[name] br /";
/* id和name可以换位置 */
?
!--========= 方法三最快 =========--
?
@mysql_close($dbh);
/* 关闭到mysql数据库的连接 */
?
Q5: php 读写文件和数据库哪个快
1、直接读文件相比数据库查询效率更胜一筹,而且文中还没算上连接和断开的时间。
2、一次读取的内容越大,直接读文件的优势会越明显(读文件时间都是小幅增长,这跟文件存储的连续性和簇大小等有关系),这个结果恰恰跟天缘预料的相反,说明MYSQL对更大文件读取可能又附加了某些操作(两次时间增长了近30%),如果只是单纯的赋值转换应该是差异偏小才对。
3、写文件和INSERT几乎不用测试就可以推测出,数据库效率只会更差。
4、很小的配置文件如果不需要使用到数据库特性,更加适合放到独立文件里存取,无需单独创建数据表或记录,很大的文件比如图片、音乐等采用文件存储更为方便,只把路径或缩略图等索引信息放到数据库里更合理一些。
5、PHP上如果只是读文件,file_get_contents比fopen、fclose更有效率,不包括判断存在这个函数时间会少3秒左右。
6、fetch_row和fetch_object应该是从fetch_array转换而来的,我没看过PHP的源码,单从执行上就可以说明fetch_array效率更高,这跟网上的说法似乎相反。
关于php读写数据和php读取数据表内容的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







