Здравствуйте! Можете подсказать, как реализовать подстановку значений, полученных из формы, в шаблон?
Тот код, который есть сейчас:
<?php
//создание виртуального хоста Apache
if (isset ($_POST['create'])) {
//получаем необходимые данные из полей формы
$cname = $_POST['cname'];
$calias = $_POST['calias'];
$cemail = $_POST['cemail'];
$ccharset = $_POST['ccharset'];
$cindexfiles = $_POST['cindexfiles'];
//получаем шаблон из файла
$config = file_get_contents ('/***/templates/apachevhost.tpl') or die ('Невозможно получить доступ к файлу');
//путь к новому шаблону
$path = "/etc/apache2/sites-available/$cname.conf";
$pathtosave = "/***/panel/$cname.conf";
//записываем наш новый виртуальный хост в файл
echo $config;
echo "<br> Имя сайта: $cname";
echo "<br> Алиасы сайта: $calias";
echo "<br> Email администратора сайта: $cemail";
//затем активируем виртуальный хост и перезагружаем веб-сервер
...
}
?>
Шаблон (apachevhost.tpl):
<VirtualHost 127.0.0.1:80>
ServerName $cname
ServerAlias $calias
DocumentRoot /home/$login/www/$cname
DirectoryIndex $cindexfiles
ServerAdmin $cemail
AddDefaultCharset $ccharset
AssignUserID $login $login
CustomLog /home/$login/logs/$cname.access.log combined
ErrorLog/home/$login/logs/$cname.error.log
<Directory /home/$login/www/$cname>
Require all granted
</Directory>
</VirtualHost>
Что не устраивает в текущем коде:
значения не подставляются, форма работает, при любых значениях переменных шаблон остаётся таким же (а переменные печатаются "как есть" - т.е. в выводе $config вижу
ServerName $cname
ServerAlias $calias
и.т.д.
Создаётся ощущение, что результат работы функции file_get_contents "заключён в одинарные кавычки" для PHP (если так можно выразиться)