0

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

4

2 回答 2

1

这应该可以正常工作:

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

file_put_contents("includes/meetingParams.php", $content);
于 2017-04-02T00:57:53.527 回答
0

试试这个。

include_once "includes/meetingParams.php";

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

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

解释

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

这意味着您将该文件放在脚本中。那么就不需要使用RegEx来替换数组了,只需要重新赋值就可以了。

于 2017-04-02T00:54:31.370 回答