我是一名php初学者。我想每次运行我的项目来创建一个独特的文件,为此我使用了uniqid()。只有每次重新加载页面以显示从服务器收到的新数据时,它才会创建一个具有单一名称的新文件。但我希望保留第一个文件,直到应用程序关闭。
这是我的代码:
$uniq = uniqid();
if(!isset($_COOKIE['firsttime'])){
setcookie('firsttime', 'no');
$num = $uniq;
$myfile = 'file/'.$num.'.txt';
if(file_exists($myfile) == FALSE){
$fo = fopen($myfile, 'w')or die();
$code = '<form action = "" method = "post">';
fwrite($fo, $code, strlen($code)) ;
fclose($fo);
}else{
unlink($myfile);
$file = new File();
}
}
someoane可以帮助我吗?
答案 0 :(得分:1)
看来,如果我读得正确,你应该将cookie指定为唯一的名称,然后使用它而不是每次都生成一个新的。 现在,你说如果它不是回发你想要它运行。通过这个我假设你的意思是发布一个表单,所以你只运行一次,然后如果用户在页面上发布表单然后你没有创建一个新的id,你改为使用当前正在使用的那个..
if(!isset($_POST['some_form_element']))
{
if(isset($_COOKIE['firsttime'])){
$myfile = 'file/'.$_COOKIE['firsttime'].'.txt';
}
else
{
$uniq = uniqid();
setcookie('firsttime', $uniq);
$myfile = 'file/'.$uniq.'.txt';
}
if(file_exists($myfile) == FALSE){
$fo = fopen($myfile, 'w')or die();
$code = '<form action = "" method = "post">';
fwrite($fo, $code, strlen($code)) ;
fclose($fo);
}else{
unlink($myfile);
$file = new File();
}
}
其中“some_form_element”是表单中的任何元素,或隐藏字段等。最好使用特定的东西而不仅仅是!$ _ POST。
如果我对你的需求有误,请告诉我。我可以更新。