Intereting Posts
Как я могу вызвать статический метод из класса, если все, что у меня есть, – это строка имени класса? Как получить вторую МАКСИМАЛЬНУЮ ДАТУ в MYSQL Остановить кеширование для PHP 5.5.3 в MAMP Как отключить перенаправление после login_check в Symfony 2 Разделение разделителя строк в PHP на пары ключей / значений (ассоциативный массив) Загрузка, извлечение и повышение производительности PHP Как мне повторить попытку PHP flock () в течение определенного периода времени? regex для всех номеров телефонов Великобритании Laravel: HTTPS в форме :: open () Рекомендуемый сервер для непрерывной интеграции для проекта PHP PHP preg_match UUID v4 Поиск виртуальной машины с Xdebug, работающей для PHP в Netbeans Сравнение поплавков – такое же число, но не равно? Получение года и недели года с даты PHP (), когда неделя охватывает два года Можем ли мы получить идентификатор электронной почты от Twitter oauth API?

Можно ли редактировать файл .PHP?

Поэтому у меня есть файл для констант. Я хочу, чтобы пользователь определял их, а затем редактировал мой .php filr с этими глобальными константами (а не xml – реальный PHP-файл)

С таким кодом, например

<?php // Database Constants define("DB_SERVER", "localhost"); define("DB_USER", "root"); define("DB_PASS", "000000"); define("DB_NAME", "cms"); ?> 

Как отредактировать этот .php-файл из другого файла PHP? Является ли это возможным?

Кстати, в будущем я хочу реализовать не только константы, но и некоторые интеллектуальные коды, которые смогут модифицировать себя.

Если кто-то может, пожалуйста, покажите мне функцию для изменения слова «localhost» в моем файле …

Solutions Collecting From Web of "Можно ли редактировать файл .PHP?"

FILE_TO_REPLACE_IN.php:

 <?php define("DB_SERVER", "{DB_SERVER}"); define("DB_USER", "{DB_USER}"); define("DB_PASS", "{DB_PASS}"); define("DB_NAME", "{DB_NAME}"); 

SCRIPT_TO_CHANGE_WITH.php:

 <?php $searchF = array('{DB_SERVER}','{DB_USER}','{DB_PASS}','{DB_NAME}'); $replaceW = array('localhost', 'user', 'pass', 'db'); $fh = fopen("FILE_TO_REPLACE_IN.php", 'w'); $file = file_get_contents($fh); $file = str_replace($searchF, $replaceW, $file); fwrite($fh, $file); 

… или что-то типа того.

Вы можете написать программу, которая отредактирует любой файл, включая php-файл.

КСТАТИ. Будь осторожен! Если вы покажете своей программе, как ее модифицировать, она может делать это слишком быстро и, наконец, начать убивать людей, как в фильмах с матрицей или терминатором …

Взгляните на модуль CodeGenerator Zend. Используя отражение api, вы можете создавать файлы и классы программно.

если вы разрабатываете собственное решение, вы должны воздержаться от использования метапрограммирования (проверьте википедию) для целей настройки.

php имеет встроенный ini-file parser, который вы можете использовать. когда вам достаточно только пары ключ-значение.

письмо:

 <?php file_put_contents("settings.ini","[auth] DB_SERVER=".DB_SERVER." DB_USER=".DB_USER." DB_PASS=".DB_PASS." DB_NAME=".DB_NAME." "); ?> 

чтение:

 <?php $auth = parse_ini_file("settings.ini"); foreach ($auth as $k => $v) { define($k,$v); } ?> 

Не говоря о безопасности, простой способ состоит в том, что вы можете читать php-файл, используя функции чтения, такие как file_get_contents и после того, как у вас есть содержимое, вы должны показать их в каком-то textarea где ваши пользователи могут его редактировать. Как только они отредактируют его и отправят форму, вы должны обновить информацию.

это возможно … Но вам понадобятся основные навыки PHP.

Используйте fopen или file_put_contents . Самый простой способ – написать весь PHP-файл с нуля …

Используя fopen() fwrite() и супруги, вы можете редактировать любой файл, включая php.

Вы можете открыть файл

 $lines = file('myConstants.php'); 

Отредактируйте контент и сохраните его

 $myFile = 'myConstants.php' $fh = fopen($myFile, 'w') or die("can't open file"); fwrite($fh, 'DATA HERE'); fclose($fh);