如何将数组添加到逗号分隔的文本文件中而不删除以前的数组值

时间:2012-04-22 18:27:48

标签: php arrays

我正在尝试创建一个表单,用户可以在测试中添加自己的“问题+答案”。

我从文本文件中加载了原始问题。添加的问题将由 process_editadd.php

处理
<?php
session_start();
$file = fopen('data.txt', 'r');
$array=$_SESSION['questions_array'];

//make array out of values
$q=array($_POST['question'],$_POST['one'],$_POST['two'],$_POST['three'],$_POST['four']);
//add to file
$file=fopen("data.txt","w+");
fwrite($file, implode(',', $q)).

header('Location:module.php');

?>

数组添加到文本文件中,但问题是替换整个文件。我不希望这些问题取代以前的问题,我只是想加上它们。你们知道代码有什么问题吗?

注意:我不允许使用mySQL或Javascript

1 个答案:

答案 0 :(得分:1)

您可以切换到使用实际的数据库,让您的生活更轻松......如果不这样做,请查看fputcsvfgetcsv,使其成为一个稍微繁琐的问题。

你的内爆版本现在也很容易受到CSV注入...你没有处理你写的任何文本可能包含逗号的情况。如果确实如此,当您稍后再读取数据时,您会突然发现您将拥有额外的“列”。