php向文件里追加内容时候,以逗号分隔,应该如何做?以及删除文件中指定的一个字符串

问题一:

情景:
后台勾选一个条目时候,通过ajax调用php接口,将id传到后台并在php后台以

file_put_contents("data/userType_access.php", $param['id'], FILE_APPEND);

的方式进行追加

问题:
请问如何在后台一个个勾选时候,将id追加到文件中的时候以逗号进行分割?
例:勾选id为1,则向文件中存1,勾选id为2,则向文件里追加,并和1用逗号分隔,如:1,2
勾选id为3,则向文件里追加,并用逗号分隔,如:1,2,3

问题二:
在后台去掉勾选id为1的条目,则在文件中删除对应的id,如:去掉勾选id位1的条目,则文件中是:2,3

请问如何做更方便?

十分感谢

阅读 2.1k
1 个回答

如果数据量不大,可以先从文件中取出所有内容,然后按正常的字符串进行操作,操作完成后重新存回去。

// 增加
$ids = file_get_contents($file);
$ids .= ',' . $param['id'];
file_put_contents($file, trim(',', $ids));
// 删除
$ids = file_get_contents($file);
$ids = explode(',', $ids);
$ids = array_filter(function($id) use ($param) {
    return $id != $param['id'];
}, $ids);
file_put_contents($file, implode(',', $ids));

如果数据量非常大。
为什么要用文件来做这种事情??

推荐问题