更新文件中的数组
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);
我有一个 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);