Написание php файлов ничем не отличается от написания других текстовых файлов. Один из способов сделать это - file_put_contents()
. Что-то вроде этого должно работать:
file_put_contents('myConfig.php', "<?php
\$myVar = \"myValue\";
?>");
Вы должны будете убедиться, что у пользователя, который запускает php, есть права на запись файла в данный каталог. Это распространенная ошибка. Проверьте журналы ошибок на наличие ошибок разрешений, если они не работают.
Кстати, динамическое написание php-кода на основе загрузки данных из базы данных может привести к уязвимостям безопасности. В частности, это может позволить злоумышленнику ввести произвольный код php в вашу систему и выполнить его. Это особенно верно, если данные в базе данных поступают из веб-форм, которые заполняют пользователи. Будь очень осторожен. Проверяйте, очищайте и правильно кодируйте все ваши динамические значения. Лучше всего сделать шаг назад и пересмотреть свой дизайн. Вам действительно нужно динамически записывать эти файлы конфигурации как файлы php? Можете ли вы использовать вместо этого INI-файлы? (подсказка: parse_ini_file()
). Или вы можете просто использовать значения конфигурации из базы данных напрямую, без записи файла?