十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我建议一下吧,文本数据库的例子本来太多,但是为了逻辑简化,最好通过专门接口实现文件与数据的转换,可以采用我下面的模板编写:
创新互联建站从2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元红寺堡做网站,已为上家服务,为红寺堡各地企业和个人服务,联系电话:18982081108
?php
//文件最前面定义两个全局变量,数据库文件名和用户数组
$pwd_db_file='db.txt';
$UserPassword=array();
//下面的pwd_db_read函数,把文件内容读入到全局数组中
function pwd_db_read(){
global $pwd_db_file, $UserPassword;
$fp=fopen($pwd_db_file,'r');
while ($s=fgets($fp)){
list($usr,$pwd)=explode('|', $s);
$UserPassword[$usr]=$pwd;
}
fclose($fp);
}
//下面的pwd_db_write函数保存数组内容到文件中
function pwd_db_write(){
global $pwd_db_file, $UserPassword;
fp=fopen($pwd_db_file, 'w');
foreach ($UserPassword as $usr=$pwd)
fputs($fp,"$usr|$pwd\n");
fclose($fp);
}
//有了上面的全局变量和函数,要写什么功能都简单
//下面假释本脚本调用的时候通过reg.php?job=adduser=...pass=...
//的格式进行调用,job为add表示添加用户,del表示删除,modi表示修改
//另外的user和pass表示用户名或者密码,job不是以上内容表示登录
//主程序一开始就打开数据库
pwd_db_read();
//下面判断功能
if ($jon=='add'){
if (array_key_exists($user,$UserPassword)) echo "用户 $user 已经存在!"
else $UserPassword[$user]=$pass;//就一句话,简单吧
}elseif (job=='del'){
unset($UserPassword[$user]);//你自己考虑编写是否确认删除的内容
}elseif ($job=='modi'){
if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass;//和添加是不是有点类似
else echo "用户 $user 不存在!"
}else{
if ($UserPassword[$user]==$pass){
echo '密码正确。';
//接下来可能要做许多事情
}else echo '密码错误!';
}
//程序最后保存数据库修改
pwd_db_write();
?
看得懂吗,没有上机调试,语法问题可能难免,如果发现不明白的问题请补充。
亲,你好,没有必要把第一行删除了再读取第二行啊!
你可以直接写一个循环,然后直接逐行读取txt内容就可以了啊!
PHP有读取文本行的函数fgets($handle);
希望可以帮到你哦!~如果有疑问可以私信我或者继续追问哦!~~
// 以下方法供参考
$id = 3;
// 1、如果id是主键,且Mysql数据库
$new -delete($id);
// 2、用表示筛选条件的数组$map
$map["id"]=$id;
$new -where($map)-delete();
// 3、如果id是主键
$new -delete($map);
// 4、直接用数组
$new -where(array("id"=$id))-delete();
// 5、删除多条1,3,5,6,8
$ids = array(1,3,5,6,8);
$maps["id"] = array("in",$ids); // 或者 $maps["id"] = array("in","1,3,5,6,8");
$new -where($maps)-delete();
举例如下:
$a=array(1,2,3);
unset($a);
就可以把整个数组删除。
删除数组和清空数组不是一个概念,删除数组之后,就是无法访问了,向上面的例子,我们unset之后, 数组就不存在了,整个$a都无法访问了。
?php
//这是在数据库取出的01数据
$string = "7,12,541";
//把01的数据转为数组
$string_to_array = explode(",", $string);
//转换数组,默认数组的键值对是类似这样
//array(0=7,1=12,2=541);
//转换后是array(7=0,12=1,541=2);
$arr_flip = array_flip($string_to_array);
//删除为7的
$delete_mark = 7;
unset($arr_flip[$delete_mark]);
//数组再转回来
$string_to_array = array_flip($arr_flip);
//数组合成字符串
$string_end = implode(",", $string_to_array);
var_dump($string_end);
上面代码和注释都写好了,主要是这部分处理,取出数据应该不难吧
可以打开文件再关闭,例如:
$fclose($fopen('abc.txt','w'));
还可以直接写入空字符串,例如:
file_put_contents('abc.txt','');