$testarray['player1'] = $player1Plays;
$testarray['player2'] = $player2Plays;
$testarray['result'] = $result;
print_r ($testarray);
$yoyo = serialize ($testarray);
$file = 'prevdata.dat';
fopen ($file, 'w');
file_put_contents($file, trim($yoyo) . PHP_EOL, FILE_APPEND);
我正在为课堂制作小型摇滚,纸张,剪刀游戏,需要将每个动作和结果保存到文件中。这就是我到目前为止所做的工作,它将序列化数据并将其保存到文件中,但每次我再次玩游戏时,它都会写入当前文件中的数据(我以为' FILE_APPEND'是应该加上)。这里提供了完整的代码https://eval.in/624620
答案 0 :(得分:1)
更改
$file = 'prevdata.dat';
fopen ($file, 'w');
file_put_contents($file, trim($yoyo) . PHP_EOL, FILE_APPEND);
到
$fp = fopen('prevdata.dat', 'a'); fwrite($fp, trim($yoyo));
或
file_put_contents('prevdata.dat', trim($yoyo), FILE_APPEND);
答案 1 :(得分:0)
使用fopen
功能的正确模式很重要。你需要把指针(你可以把它想象成一个写头)放在文件的末尾,如下所示:
fopen($file, 'a');
查看文档以查看所有可能的模式。