更新文件中的数组

Update array in a file

我有一个 include,里面有一个包含 3 条指令的数组;一个 "y/n" 开关和一个开始和结束日期。包含 meetingParams.php 看起来像这样:

<?php
$regArray = array("n","2018-03-03","2018-03-07");
?>

我想使用基于 Web 的表单不时更新这些数组值。我卡住的地方是找到正确的语法来做到这一点。现在我有以下内容:

$registration = $_POST['registration'];
$startMeeting = $_POST['startMeeting'];
$endMeeting = $_POST['endMeeting'];

$replace = array($registration, $startMeeting, $endMeeting);
$search = file_get_contents('includes/meetingParams.php');
$parsed = preg_replace('^$regArray.*$', $replace, $search);

file_put_contents("includes/meetingParams.php", $parsed);

当我 运行 此代码时,文件 meetingParams.php 被替换为一个空文件。我错过了什么?

试试这个。

include_once "includes/meetingParams.php";

$registration = $_POST['registration'];
$startMeeting = $_POST['startMeeting'];
$endMeeting = $_POST['endMeeting'];

$regArray = array($registration, $startMeeting, $endMeeting);

说明

不需要使用 file_get_contents,因为您使用的是 PHP 文件,您可以简单地包含它。

这意味着您将该文件放入脚本中。那么就不用再用RegEx替换数组了,重新赋值即可。

这应该可以正常工作:

$content = '<?php
$regArray = array("'.$registration.'","'.$startMeeting.'","'.$endMeeting.'");
?>';

file_put_contents("includes/meetingParams.php", $content);