Обновить массив в файле

У меня есть включение с одним массивом, который содержит 3 инструкции; переключатель "y / n" и дата начала и окончания. Включать meetingParams.php выглядит так:

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

Я хочу обновлять эти значения массива время от времени, используя веб-форму. Я застрял в том, чтобы найти правильный синтаксис для этого. Прямо сейчас у меня есть следующее:

$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 get заменяется пустым файлом. Что мне не хватает?

2 ответа

Решение

Это должно работать нормально:

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

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

Попробуй это.

include_once "includes/meetingParams.php";

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

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

объяснение

Там нет необходимости использовать file_get_contents Поскольку вы используете файл PHP, вы можете просто включить его.

Это означает, что вы помещаете этот файл в свой скрипт. Тогда нет необходимости использовать RegEx для замены массива, просто переназначьте его значение.

Другие вопросы по тегам