| 赞 | 58 |
| VIP | |
| 好人卡 | |
| 积分 | 12 |
| 经验 | |
| 最后登录 | 2023-5-29 |
| 在线时间 | 1017 小时 |
- 梦石
- 0
- 星屑
- 1232
- 在线时间
- 1017 小时
- 注册时间
- 2011-4-30
- 回帖
- 1464
|
发表于 2016-3-2 20:58:45
|
显示全部楼层
本帖最后由 汪汪 于 2016-3-2 22:41 编辑
简单的能用的保存数据的东西.......
[fold]
[pre lang="javascript"]
//保存
var json =JSON.stringify({"name":'汪汪',"mode":'save',"data":'data'})
//读取所有
var json = JSON.stringify({"mode":'loadall' });
//读取
var json = JSON.stringify({"name":'汪汪',"mode":'load' });
var url = "phb.php";
var xhr = new XMLHttpRequest();
xhr.open('POST', url,false); //如果用 false 会等待处理完才继续进行,
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.onload = function() {
if (xhr.status < 400) {
console.log(xhr.responseText)
}
};
xhr.onerror = function() {
};
xhr.send("json="+json); [/pre]
[pre lang="php"]<?php
$json = $_POST['json'];
$obj = json_decode($json,true);
$mode = $obj['mode'];
$mimafile = "phb.rpg";
if($mode == "save"){
$name = $obj['name'];
$data = $obj['data'];
if((strlen($name)>0)and (strlen($data)>0 )){
if (file_exists($mimafile)){
$file = file_get_contents($mimafile);
$fileo = json_decode($file,true);
};
$fileo[$name] = $data ;
$file = json_encode($fileo);
file_put_contents($mimafile,$file);
die( $name.$data);
};
}elseif ($mode == "load") {
$name = $obj['name'];
if((strlen($name)>0)){
if (file_exists($mimafile)){
$file = file_get_contents($mimafile);
$fileo = json_decode($file,true);
$data = $fileo[$name] ;
die($data);
}else{
die("not data");
};
};
}else {
if (file_exists($mimafile)){
$file = file_get_contents($mimafile);
die($file);
}else{
die("not data");
};
};
?>[/pre]
[/fold]
[fold=额,带密码的,用于web存档的php]
[pre lang="javascript"]var json = JSON.stringify({"name":'汪汪',"mima":'66rpg',"mode":"save","key":'key1',"data":'测试'});
var url = "websaveload.php";
var xhr = new XMLHttpRequest();
xhr.open('POST', url,false); //如果用 false 会等待处理完才继续进行,
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.onload = function() {
if (xhr.status < 400) {
console.log( xhr.responseText )
}
};
xhr.onerror = function() {
};
xhr.send("json="+json);
[/pre]
[pre lang="php"]<?php
$dir = "save";
$dir = iconv("utf-8","gbk",$dir);
$dir = trim($dir);
if($dir !=""){
if(!is_dir($dir)){
$newdir = mkdir($dir);
if(!$newdir){
die ('dir=nil');
};
};
//密码保存文件
$dir2 = $dir ."/";
};
clearstatcache();
//读取json数据
$json = $_POST['json'];
//解析json
$obj = json_decode($json,true);
//模式
$mode = $obj['mode'];
//名称
$name = $obj['name'];
//密码
$mima = $obj['mima'];
//键
$key = $obj['key'];
//数据
$data = $obj['data'];
//密码保存文件
$mimafile = $dir2 ."mima.rpg";
if((strlen($name)>0)and (strlen($mima)>0 )){
$name0 = md5($name);
$mima0 = md5($mima);
//$name0 = $name;
//$mima0 = $mima;
}else{
die ( "name=nil||mima==nil" );
};
//如果存在 密码保存文件
if (file_exists( $mimafile)){
//读取 密码保存文件
$file = file_get_contents($mimafile);
//解析 密码保存文件
$fileo = json_decode($file,true);
//检查 = 0
$jc = 0 ;
//如果 密码保存文件中 包含 名称
if (array_key_exists($name0,$fileo)){
//如果 密码 == 密码保存文件 中 名称对应值
if ($mima0 == $fileo[$name0]){
//检查 = 1
$jc = 1;
}else{
//检查 = 0
$jc = 0;
};
}else{
//如果 密码保存文件 含有的 内容 少于 1000 个
if(count($fileo)<= 1000 ){
//密码保存文件 [名称] = 密码
$fileo[$name0] = $mima0;
//变成json字符串
$file = json_encode($fileo);
//保存字符串 到 密码保存文件
file_put_contents($mimafile ,$file);
//jc = 2
$jc = 2;
}else{
//jc = -1
$jc = -1;
};
};
}else{
//密码保存文件 [名称] = 密码
$fileo[$name0] = $mima0;
//变成json字符串
$file = json_encode($fileo);
//保存字符串 到 密码保存文件
file_put_contents($mimafile,$file);
//检查 = 2
$jc = 2;
};
//如果 检查 >= 1 (密码正确 或者 创建了新的)
if($jc >= 1){
//名称 转换编码
$name2 = $name0
//$name2 = iconv("utf-8","gbk",$name); 转换为中文 不使用md5时
//保存文件名称
$filename = $dir2.$name2.".rpgsave";
//如果 模式 == save
if($mode == "save"){
//如果 有 保存文件
if (file_exists($filename)){
//读取保存文件
$save = file_get_contents($filename);
//解析保存文件
$saveo = json_decode($save,true);
//保存文件 [键] = 数据
$saveo[$key] = $data;
//保存json字符串
$save2 = json_encode($saveo);
//字符串 保存到 保存文件
file_put_contents($filename,$save2);
}else{
//保存文件 [键] = 数据
$saveo[$key] = $data;
//保存json字符串
$save2 = json_encode($saveo);
//字符串 保存到 保存文件
file_put_contents( $filename,$save2);
};
//返回 "save==ok"
die ("save==ok");
}elseif ( $mode == "load" ){
//如果 有 保存文件
if (file_exists($filename)){
//读取保存文件
$save = file_get_contents($filename);
//解析保存文件
$saveo = json_decode($save,true);
//如果 保存文件 中 有 键
if (array_key_exists($key,$saveo)){
//读取 对应数据
$data=$saveo[$key] ;
//返回 数据
die($data);
};
};
//返回 "load==null"
die ("load==null");
};
//返回 "mode!=save&&mode!=load"
die("mode!=save&&mode!=load");
};
//返回 "mima!=mima"
die( "mima!=mima");
?>[/pre]
[/fold] |
|