更新文件中的数组

时间:2017-04-02 00:48:52

标签: php arrays preg-replace file-put-contents

我有一个包含单个数组的包含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被替换为空文件。我错过了什么?

2 个答案:

答案 0 :(得分:1)

这应该可以正常工作:

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

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

答案 1 :(得分:0)

试试这个。

include_once "includes/meetingParams.php";

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

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

说明

由于您使用的是PHP文件,因此无需使用file_get_contents

这意味着您将该文件放在脚本中。然后就不需要使用RegEx替换数组,只需重新分配它的值。