创建一个PHP文件,可以通过变量来写入文本并保存。 这个问题我提交了4次,要看看怎么才能通过!
例如访问http://127.0.0.1/write.php?&abc=123&cdoe=7.8.9目录下read.txt内容被写入:abc,123cdoe,7.8.9-...
例如访问http://127.0.0.1/write.php?&abc=123&cdoe=7.8.9
目录下read.txt内容被写入:
abc,123
cdoe,7.8.9
----
需要每个变量按行写入,可以增量写入。每个新的数据占独立的一行。
最好是有类似密*/码验-证,例如加个参数&ok=123,密\*码/为123时,写入的数据才生效,不会被恶*/意引用。
提个问题这么难,提交3个,都说不符合规范,什么才算规范?我不在乎那几个财富悬赏,多提问几次 展开
目录下read.txt内容被写入:
abc,123
cdoe,7.8.9
----
需要每个变量按行写入,可以增量写入。每个新的数据占独立的一行。
最好是有类似密*/码验-证,例如加个参数&ok=123,密\*码/为123时,写入的数据才生效,不会被恶*/意引用。
提个问题这么难,提交3个,都说不符合规范,什么才算规范?我不在乎那几个财富悬赏,多提问几次 展开
2个回答
展开全部
<?php
error_reporting(E_ERROR);
if(empty($_GET['ok']) || $_GET['ok']!='password'){
exit('error');
}
unset($_GET['ok']);
$strarr=array();
foreach ($_GET as $k => $v) {
$strarr[]=$k.','.$v;
}
file_put_contents('readme.txt', implode("\r\n", $strarr));
echo 'ok';
更多追问追答
追问
还有2个问题,每次提交都需要写入新的数据,哪怕这2个数据是一样的,各占一行。
就是同一个连接刷新2次,需要写入2次结果。可以设置间隔2秒内的提交只写入1次。
另一个问题是写入的新数据需要在最前。
非常感谢!
追答
<?php
error_reporting(E_ERROR);
if(empty($_GET['ok']) || $_GET['ok']!='password'){
exit('error');
}
session_start();
$laststamp=$_SESSION["timestamp"];
$time=time();
if(!empty($laststamp) && $time-$laststamp<3){
exit('重复提交');
}
$_SESSION["timestamp"]=$time;
unset($_GET['ok']);
$strarr=array();
foreach ($_GET as $k => $v) {
$strarr[]=$k.','.$v;
}
//多一个空行间隔两次数据
$strarr[]='';
if(file_exists('readme.txt')){
$lastdata=file('readme.txt');
if(!empty($lastdata)){
$strarr=array_merge($strarr,$lastdata);
}
}
file_put_contents('readme.txt', implode("\r\n", $strarr));
echo 'ok';
这种方式在数据比较多时很消耗服务器资源,文件上个几十M可能就运行不起来了。
建议新数据放在文件尾,读取收集的方式改变一下。
展开全部
<?php
$myfile=fopen("read.txt", "w") or die("Unable to open file!");
$pw=$_GET['abc'];
$data='abc,'.$pw.'\n';
fwrite($myfile, $data);
$val = $_GET['cdoe'];
$data='cdoe,'.$val.'\n';
fwrite($myfile, $data);
fclose($myfile);
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询